Hallo,
ich versuche mit cURL einen automatischen upload auf einen Pic-Hoster zu realisieren.
Hier ist mein Code:
Hier der Aufruf:
Ich kriege folgendes von cURL zurück:
cURL getinfo:
curl_error ist leer.
Die Frage ist nun: Was mache ich falsch? Wieso wird das Bild nicht binär mit geschickt? Wieso wird der Boundary nicht geschlossen?
MfG
karoo
PS:
Ich habe den imagehoster mal entfernt, weil ich kein ärger bekommen will, dass ich ein upload-Skript dafür veröffentlicht habe.
Die Post-Daten stimmen allerdings.
ich versuche mit cURL einen automatischen upload auf einen Pic-Hoster zu realisieren.
Hier ist mein Code:
PHP-Code:
function uploadToForm($filePath, $targetUrl, array $post)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
curl_setopt($ch, CURLOPT_URL, $targetUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Expect:' ) );
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
return $response;
}
PHP-Code:
include "../function.inc.php";
$post = array(
"userfile1"=>"@/root/123di_perspec_wide_far.jpg",
"upload"=>"Upload"
);
echo uploadToForm('/root/123di_perspec_wide_far.jpg', "http://******/basic.php", $post);
Code:
* About to connect() to ***** port 80 (#0) * Trying *********... * connected * Connected to ****** (******) port 80 (#0) > POST /basic.php HTTP/1.1 User-Agent: Mozilla/4.0 (compatible;) Host: ****** Accept: */* Content-Length: 18443 Content-Type: multipart/form-data; boundary=----------------------------d35da9f09aab < HTTP/1.1 200 OK < Date: Wed, 24 Nov 2010 16:43:46 GMT < Server: Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9 < X-Powered-By: PHP/5.2.9 < Content-Length: 531 < Content-Type: text/html < * Connection #0 to host ****** left intact * Closing connection #0
Code:
Array ( [url] => http://******/basic.php [content_type] => text/html [http_code] => 200 [header_size] => 204 [request_size] => 210 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 2.27469 [namelookup_time] => 0.342566 [connect_time] => 0.501589 [pretransfer_time] => 0.501601 [size_upload] => 18443 [size_download] => 531 [speed_download] => 233 [speed_upload] => 8107 [download_content_length] => 531 [upload_content_length] => 18443 [starttransfer_time] => 0.501762 [redirect_time] => 0 )
Die Frage ist nun: Was mache ich falsch? Wieso wird das Bild nicht binär mit geschickt? Wieso wird der Boundary nicht geschlossen?
MfG
karoo
PS:
Ich habe den imagehoster mal entfernt, weil ich kein ärger bekommen will, dass ich ein upload-Skript dafür veröffentlicht habe.
Die Post-Daten stimmen allerdings.
Kommentar