0

これが私のコードです。完全には機能していません。誰でも問題を特定するのを手伝ってもらえますか?

$urls = file('list.txt', FILE_IGNORE_NEW_LINES);
foreach($urls as $url) {
    copy(trim($url),"c:/data/$url");
    echo "$url is done";
    ob_flush();
    flush();
}       

一部の URL が存在しません。

URLの各ファイルをURLの名前で保存したい。

URL は次のようになります。http://site.com/index.htm

4

2 に答える 2

0

PHPcURL関数は次のとおりです

/* gets the data from a URL */
function get_urlData($url) {
  $ch = curl_init();
  $timeout = 5;
  curl_setopt($ch,CURLOPT_URL,$url);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}

あなたの存在する前にあなたのPHPファイルにそれを持ってくださいforeach

適応したコード:

$urls = file('list.txt', FILE_IGNORE_NEW_LINES);

foreach($urls as $url) {
  $data = get_urlData($url);
  copy($data, "c:/data/$url");
  echo "$url is done";
  ob_flush();
  flush();
}     

テストされていませんが、問題なく動作するはずです。

于 2012-07-21T02:35:56.817 に答える
0
$urls = file('list.txt', FILE_IGNORE_NEW_LINES);
foreach($urls as $url) {

    $con=file_get_contents($url);
    if($con !== false)
    {    
        if(file_put_contents(trim($url),$con))
        {    
            echo "$url is done";

            //don't really see the point of these, but okay...
            ob_flush();

            flush();    
        }
    }
}  

それはそれを行う必要があります。

于 2012-07-21T01:37:58.543 に答える