使用PHP在我的Owncloud服务器上上传文件

zed13

最近,我创建了我的owncloud服务器,我需要能够从php表单上传文件,该文件将文件从我的PC传输到我的owncloud服务器。因此,我尝试使用Curl,如下所示:

<?php
    $url = "5.25.9.14/remote.php/webdav/plus.png";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // -X PUT
    curl_setopt($ch, CURLOPT_USERPWD, "root:root"); // --user
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE); // --data-binary
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, array(
        'img/plus.png' => '@'.realpath('img/plus.png')
        )
    );
    $output = curl_exec($ch);
    curl_close($ch);
?>

这个帖子和这个命令给我启发

curl -X PUT "http://server.com/owncloud/remote.php/webdav/file.zip" --data-binary @"/Users/Root/Downloads/file.zip"

命令行,他正在工作,但不是我的PHP。我成功上传了文件,但是文件已损坏,我也不知道为什么:/。也许我错过了MIME类型?是否足以获取损坏的文件?

看到我错了吗?最好的问候,Zed13

编辑:当我使我的上传文件的文件,它的类型数据,而不是png,奇怪的是...

温南德

我在上传到owncloud时也遇到了问题。具有相同的症状,命令行curl可以工作,但PHP curl调用不行。

多亏了您的帖子,我才能够正常工作。这对我有用

// upload backup
$file_path_str = '/tmp/' . date('Ymd') . '.tar.gz';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://server/remote.php/webdav/backups/' . basename($file_path_str));
curl_setopt($ch, CURLOPT_USERPWD, "user:pass");
curl_setopt($ch, CURLOPT_PUT, 1);

$fh_res = fopen($file_path_str, 'r');

curl_setopt($ch, CURLOPT_INFILE, $fh_res);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($file_path_str));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE); // --data-binary

$curl_response_res = curl_exec ($ch);
fclose($fh_res);

不同之处在于:

  • CURLOPT_PUT 代替 CURLOPT_CUSTOMREQUEST
  • CURLOPT_INFILECURLOPT_INFILESIZE不是CURLOPT_POSTFIELDS

谢谢你的帮助。//

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用php在ftp服务器上显示文件

来自分类Dev

使用Jasny文件输入使用PHP将文件上传到服务器

来自分类Dev

使用php将多个文件上传到服务器,而不将所有文件上传到服务器

来自分类Dev

iOS到php服务器的文件上传-我应该允许什么文件大小的图像?

来自分类Dev

c#使用FTP将本地文件上传到服务器。C#文件位于服务器上

来自分类Dev

我想将文件从本地主机上传到php中的服务器

来自分类Dev

在服务器上上传文件

来自分类Dev

使用AngularJS和php服务器脚本上传文件

来自分类Dev

Android:在服务器上上传文件

来自分类Dev

在ubuntu服务器上上传PHP文件

来自分类Dev

在Ubuntu上安装Owncloud服务器

来自分类Dev

Codeigniter / PHP上传PDF文件不会覆盖服务器上的现有文件

来自分类Dev

在服务器上上传文件

来自分类Dev

在Ubuntu上安装Owncloud服务器

来自分类Dev

我的文件上传到Android中的php服务器有什么问题?

来自分类Dev

在服务器上上传大文件?

来自分类Dev

使用NSURLSessionUploadTask将文件上传到PHP服务器

来自分类Dev

使用php将多个文件上传到服务器,而不将所有文件上传到服务器

来自分类Dev

通过php在服务器apache上上传文件

来自分类Dev

我想从php中的localhost上传文件到我的服务器

来自分类Dev

无法使用php上传文件(使用Linode服务器)

来自分类Dev

php上传文件并移至服务器

来自分类Dev

PHP的文件上传在服务器上失败

来自分类Dev

将文件上传到服务器上的目录-PHP 5.6-现在未复制文件

来自分类Dev

在ubuntu服务器上上传PHP文件

来自分类Dev

PHP:图片文件未在服务器上上传?

来自分类Dev

无法使用PHP将文件上传到服务器

来自分类Dev

使用php在wordpress服务器上保存文件

来自分类Dev

在服务器上存储上传的文件

Related 相关文章

  1. 1

    使用php在ftp服务器上显示文件

  2. 2

    使用Jasny文件输入使用PHP将文件上传到服务器

  3. 3

    使用php将多个文件上传到服务器,而不将所有文件上传到服务器

  4. 4

    iOS到php服务器的文件上传-我应该允许什么文件大小的图像?

  5. 5

    c#使用FTP将本地文件上传到服务器。C#文件位于服务器上

  6. 6

    我想将文件从本地主机上传到php中的服务器

  7. 7

    在服务器上上传文件

  8. 8

    使用AngularJS和php服务器脚本上传文件

  9. 9

    Android:在服务器上上传文件

  10. 10

    在ubuntu服务器上上传PHP文件

  11. 11

    在Ubuntu上安装Owncloud服务器

  12. 12

    Codeigniter / PHP上传PDF文件不会覆盖服务器上的现有文件

  13. 13

    在服务器上上传文件

  14. 14

    在Ubuntu上安装Owncloud服务器

  15. 15

    我的文件上传到Android中的php服务器有什么问题?

  16. 16

    在服务器上上传大文件?

  17. 17

    使用NSURLSessionUploadTask将文件上传到PHP服务器

  18. 18

    使用php将多个文件上传到服务器,而不将所有文件上传到服务器

  19. 19

    通过php在服务器apache上上传文件

  20. 20

    我想从php中的localhost上传文件到我的服务器

  21. 21

    无法使用php上传文件(使用Linode服务器)

  22. 22

    php上传文件并移至服务器

  23. 23

    PHP的文件上传在服务器上失败

  24. 24

    将文件上传到服务器上的目录-PHP 5.6-现在未复制文件

  25. 25

    在ubuntu服务器上上传PHP文件

  26. 26

    PHP:图片文件未在服务器上上传?

  27. 27

    无法使用PHP将文件上传到服务器

  28. 28

    使用php在wordpress服务器上保存文件

  29. 29

    在服务器上存储上传的文件

热门标签

归档