您好我在将文件上传到网站时遇到问题,我已经检查过这些元素并将它们添加到$ data文件中,我对此很新,所以请指导我。
function upload($url,$data)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, "C:/xampp/htdocs/curl_upload/cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "C:/xampp/htdocs/curl_upload/cookies.txt");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 1000);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$data = array("file_0"=>"@C:\files\somerarfile.rar","submit_btn"=>" Upload! ");
echo upload("http://180upload.com/",$data);
答案 0 :(得分:2)
您是否在实时域名上试过这个?一切似乎都在形状,可能是本地php.ini,filesize或您的操作系统(具有安全性)的问题。
尝试实时(子)域。
要设置最大文件大小,请尝试
<?php
ini_set('upload_max_filesize', '40M');
ini_set('post_max_size', '40M');
?>
显然,将值设置为您需要的值。
使用您的上传页面,您是否尝试过记录所有POST,GET,FILES变量?
我在调试时所做的事情以及不想工作的事情是:
<?php
$f = fopen("access.log", "a+");
$data = print_r($_REQUEST,1);
fwrite($f, $data);
fclose($f);
?>
与$ _FILES相同。如果有一个包含该信息的访问日志,我知道正在访问该页面,所有内容都已发送但我处理错误。
如果没有文件,那么很明显,页面没有到达。
希望这有帮助
标记