使用linux中的cURL上传http文件(命令行)

时间:2014-11-04 12:47:50

标签: php linux http curl

我必须使用linux命令行中的 CURL HTTP POST在我的本地系统上传文件。

我使用过这些命令但没有成功:

curl -F "image=@/var/www/fbapp/images/registration.png" http://localhost/xmlcreate/curlupload.php

curl --form "fileupload=@/var/www/fbapp/images/registration.png" http://localhost/xmlcreate/curlupload.php

curl -X POST -d @/var/www/fbapp/images/registration.png http://localhost/xmlcreate/curlupload.php

curl --data-binary @/var/www/fbapp/images/registration.png http://localhost/xmlcreate/curlupload.php

我使用了所有这些命令但这些命令都没有。

这是我的 PHP 文件,我试图获取上传的文件(使用curl)并将其保存在其他目录中:

<?php
$uploadpath = "images/";
$filedata = $_FILES['image']['tmp_name'];
$filename = $_POST['filename'];
if ($filedata != '' && $filename != '')
    copy($filedata,$uploadpath.$filename);
?>

有人可以帮我解决这个问题。我被困在这里,无法前进。

一旦它开始在本地工作,我必须使用远程服务器URL,而不是localhost。

2 个答案:

答案 0 :(得分:1)

尝试

curl -i -F filename=image.jpg -F image=@/path/to/image.jpg http://localhost/xmlcreate/curlupload.php

答案 1 :(得分:0)

尝试使用

move_uploaded_file()

我认为至少有一个CURL命令有效。要检查简单地说:

file_put_contents('log.txt',print_r($_FILES,true));

在您的代码中,并实时查看您从curl获得的内容。