3

私のホスティングから COPY() が無効になっているため、URLから画像を取得してmサーバーに保存するために使用していたCURL機能があります。

私が渡した URL は $url=http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/People_from_Switzerland.png/285px-People_from_Switzerland.png でした。

    $headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';              
$headers[] = 'Connection: Keep-Alive';         
$headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';   
$userAgent = 'php';
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER, $headers);         
curl_setopt($process, CURLOPT_HEADER, 0);         
curl_setopt($process, CURLOPT_USERAGENT, $useragent);         
curl_setopt($process, CURLOPT_TIMEOUT, 30);         
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);         
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_init($url) 出力をエコーし​​ようとすると、次のエラーが表示されます

プロセス リソース id #7
警告: curl_setopt() は、パラメーター 1 がリソースであると 想定しています。

助けてください!

4

3 に答える 3

4

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$ch前に使用したのはどこから来た$processのですか、最後の行は他の場所からコピーされたものですか?

未定義の変数は null になります。

于 2012-05-14T03:01:34.443 に答える
3

最後の行でに変更$chするのを忘れました:$process

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

次のようにする必要があります。

curl_setopt($process, CURLOPT_SSL_VERIFYPEER, false);
于 2012-05-14T03:00:01.243 に答える
0

PHPの使用これにより、指定したURLから画像ファイルがダウンロードされて保存されます。フェイスブックに使用しました。

$headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';  
$headers[] = 'Connection: Keep-Alive';
$headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';

$userAgent = 'php';
$process = curl_init('https://sphotos-a.xx.fbcdn.net/xxxx/xxxxxx_n.jpg');
curl_setopt($process, CURLOPT_HTTPHEADER, $headers);
curl_setopt($process, CURLOPT_HEADER, 0);     
curl_setopt($process, CURLOPT_USERAGENT, $useragent);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1)
curl_setopt($process, CURLOPT_BINARYTRANSFER,1);
curl_setopt($process, CURLOPT_SSL_VERIFYPEER, false);
$raw=curl_exec($process);
curl_close ($process);
$open=fopen('final.jpeg',x);
$write=fwrite($open,$raw);
$clo= fclose($open);
于 2012-09-04T13:48:42.160 に答える