2

php内からwgetコマンドを使用して、cssスタイルシートとその依存関係をダウンロードしています。

exec ("wget -p --convert-links -nH -nd --no-check-certificate http://infidelphia.com/style.css -P /home/devuser/public_html/Tset/");

スタイルシートといくつかの画像があります。コマンドラインで実行すると:

wget -p --convert-links -nH -nd --no-check-certificate http://infidelphia.com/style.css -P /home/devuser/public_html/Tset/

間にあるリソースの1つに404があるようですが、ダウンロード後は他のすべてが正常にダウンロードされます。

しかし、PHPを介してこれを実行すると、このリソースの後のすべてがスキップされます。失敗したダウンロード/エラーがスキップされ、残りのアセットをダウンロードできるようにする方法はありますか?

4

1 に答える 1

2

時々、php curl を使用してファイルをダウンロードします。次に例を示します。

$rutaArchivo = '/home/devuser/public_html/Tset/style.css';
$urlArchivo = 'http://infidelphia.com/style.css';

$fp = fopen ($rutaArchivo, 'w+');
$ch = curl_init($urlArchivo);

curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);

$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$this->httpCode = $httpCode;

curl_close($ch);
fclose($fp);

if ($httpCode != 200) {
    unlink($rutaArchivo);
    echo 'Download error, deleting the empty file';    
} else {
    echo 'Download ok';
}

グレート!

于 2012-05-18T21:08:06.150 に答える