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脚本给出路径名. 如果相对路径不起作用,您可以共享您收到的错误消息吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |