ホームページ >バックエンド開発 >PHPチュートリアル >バッチでダウンロードされた画像はすべて 0 バイトです。この問題を解決するにはどうすればよいですか?

バッチでダウンロードされた画像はすべて 0 バイトです。この問題を解決するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-13 13:30:311228ブラウズ

バッチでダウンロードされた画像はすべて 0 バイトです

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php
$conn = mysql_connect("127.0.0.1","root","123456") or die("无法连接数据库");
@mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary",$conn);
mysql_select_db("s517",$conn) or die("无法连接数据库");
global $db;

function getImage($url, $filename="") {
if(!$url) return false;

if(!$filename) {
  $ext=strrchr(strtolower($url),".") ;
  if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false;
  $str=explode('/',$url) ;
  $filename=$str[count($str)-1] ;
}

ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$fp2=@fopen($filename, "a") ;
fclose($fp2) ;
return $filename;
}

//批量下载

    $result = mysql_query("SELECT itemid, thumb FROM table LIMIT 0 , 300");
    while($row = mysql_fetch_array($result)) {
    getImage($row["thumb"],"");
    echo $row["itemid"]."输出成功";
     }
?>

表内のサムは収集されたリモート画像パスです
この関数を使用してダウンロードした画像はすべて 0 バイトですバイト。

-----解決策---------
あまりにも早いので、しばらく寝てください
------解決策------------------
最初に 1 つまたは 2 つをチェックアウトして内容を確認すると、コードは getImage() の結果を出力しません。
PHP コード

    $result = mysql_query("SELECT itemid, サム FROM テーブル LIMIT 0, 1");
    while($row = mysql_fetch_array($result)) {
    echo getImage($row["thumb"],"")."<br>";
    echo $row["itemid"]."出力成功<br>";
     }
<br><font color="#e78608">------解決策------------------</font><br>
直接 file_get_content file_put_content <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。