cURL is not able to upload file on scribd

334 Views Asked by At

i want to upload a file to scribd.com using curl,

please help me guys,

i am trying this code:

<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
    curl_setopt($ch, CURLOPT_URL, _'http://www.scribd.com/upload/supload');
    curl_setopt($ch, CURLOPT_POST, true);
    // same as <input type="file" name="file_box">
    $post = array(
    $path=getcwd(); //absolute path
    $post = array(
        "file"=>"@".$path."/test.txt",
    );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
    $response = curl_exec($ch);
?>
1

There are 1 best solutions below

0
On

you've got at least one syntax error (_ in your curlopt_url line). Have you checked for curl errors after the exec() call?

$response = curl_exec($ch);
if ($response === false) {
   die(curl_error($ch));
}

as well, your comment indicates the file field's name is "file_box", but you're using just "file" as your upload field. You must match what scribd is expecting. You can't just throw a file over their way and expect it to work. You're using curl to recreate what a browser would do, which means you have to duplicate all the fields/data that gets sent when a normal browser-based upload is performed.