加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用cURL发送文件

发布时间:2020-12-13 16:16:50 所属栏目:PHP教程 来源:网络整理
导读:经过几个小时的研究,我无法解决 PHP和cURL的问题. 当我尝试直接从表单发送文件时,curl正常工作. form method="post" action="" enctype="multipart/form-data"input name="file" type="file" / br /input name="submit" type="submit" value="Upload" //form
经过几个小时的研究,我无法解决 PHP和cURL的问题.

当我尝试直接从表单发送文件时,curl正常工作.

<form method="post" action="" enctype="multipart/form-data">
<input name="file" type="file" /> <br />
<input name="submit" type="submit" value="Upload" />
</form>

<?php
$temp = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];

$post = array (
    'file' => '@'. $temp
);

$ch = curl_init();
curl_setopt ($ch,CURLOPT_URL,$url);
curl_setopt ($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt ($ch,CURLOPT_POST,CURLOPT_POSTFIELDS,$post);
$exec = curl_exec ($ch);
curl_close ($ch);
?>

上面的代码工作正常.当我尝试使用您的表单时,文件正确发送.

我的问题是我需要发送已经在服务器上的文件.

我尝试使用文件“C:/xampp/htdocs/test/photos.zip”的完整路径,但由于某种原因,它不起作用.

$post = array (
    'file' => '@C:/xampp/htdocs/test/photos.zip'
);

有谁知道如何发送已经发送到服务器的文件?

编辑:

upload.php(服务器)

<?php
error_reporting( E_ALL );
$upload = $_FILES['file'];
move_uploaded_file( $upload['tmp_name'],'photos.zip');
?>

myuploadtest.php(localhost)

<form action="" method="post" enctype="multipart/form-data">
<input name="file" type="file" /><br />
<input name="submit" type="submit" value="Upload" />
</form>

<?php
$temp = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];

$post = array(
    'file' => '@'.$temp
);

$url = "http://www.mysite.com/upload.php";

$ch = curl_init();
curl_setopt($ch,$url );
curl_setopt($ch,true);
curl_setopt($ch,$post);
$exec = curl_exec($ch);
curl_close($ch);
?>

uploadcurl.php(localhost)

<?php
$post = array(
    'file' => '@C:/xampp/htdocs/test/photos.zip'
);

$url = "http://www.mysite.com/upload.php";

$ch = curl_init();
curl_setopt($ch,$post);
$exec = curl_exec($ch);
curl_close($ch);
?>

提前致谢.

解决方法

您可能想尝试以下内容:

>使用相对路径,即,相对于您正在运行的php脚本给出路径名.
>在上面的代码中,我认为你错过了$url的声明.
>我不太明白这个问题有谁知道如何发送已经发送到服务器的文件?您要将文件发送到哪个服务器? (本地主机?)

如果相对路径不起作用,您可以共享您收到的错误消息吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读