2015-08-21 19:23
浏览 47

PHP cURL文件上传到网站

Hello I'm having problems uploading a file to the site bellow, I have inspected the elements and added them to the $data file, I'm fairly new to this, so please guide me.

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);   


    return $result;


$data = array("file_0"=>"@C:\files\somerarfile.rar","submit_btn"=>" Upload! ");

echo upload("",$data);
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dream_life5200 2015-08-21 19:45

    Have you tried this on a live domain? Everything appears to be in shape, maybe there's a problem with the local php.ini, filesize or your operating system (with its security).

    Try on a live (sub)domain.

    To set you max filesize, try

    ini_set('upload_max_filesize', '40M');
    ini_set('post_max_size',       '40M');

    Obviously, set the values to whatever you need.

    With your upload page, have you tried logging all the POST, GET, FILES variables?

    What I do when I'm debugging and something doesn't want to work is:

    $f = fopen("access.log", "a+");
    $data = print_r($_REQUEST,1);
    fwrite($f, $data);

    Same with $_FILES. If there's an access log with the information, I know the page is being reached, everything is being sent but I'm handling it wrong.

    If there's no file then, obviously, the page isn't getting reached.

    Hope this helps


    解决 无用
    打赏 举报

相关推荐 更多相似问题