0

この質問の出力をmysqlに保存しようとしています

サイズに基づいてウェブページから画像をフィルタリングする

<?php 

include('connect.php'); 

$html = file_get_contents("http://santabanta.com/photos/amisha-patel/402186.htm"); 

$doc = new DOMDocument();
@$doc->loadHTML($html);

$tags = $doc->getElementsByTagName('img'); 

foreach ($tags as $tag) { 
    $data = get_headers($tag->getAttribute('src'),1); 
    if((intval($data["Content-Length"])/1024)>=10){ 
        echo $tag->getAttribute('src');
        $url=''.$tag->getAttribute('src').'';
        echo $url;
        mysql_query ("INSERT INTO table1 (url) VALUES ('" . mysql_real_escape_string($url) . "')");
    }
} 

?>

しかし、驚いたことに、出力の最初のリンク/リンクのみが保存されています。私はエコーを使用して確認しましたが、エコーは正しい出力を提供しています。

このコードを格納するための私の mysql データ型はテキストであり、この mysql クエリを使用して mysql に挿入していますが、最初の行のみが保存されています。

mysql_query ("INSERT INTO tablea (url) VALUES ('" . mysql_real_escape_string($url) . "')");

エコーから結果を取得するときはすべて問題ないようですが、後でmysqlに保存していません。

これらのエコーの詳細をフォームフィールドに入力しようとしましたが、驚いたことに最初の行だけがフォームフィールドにも入力されたため、mysql が保存しているフォームフィールド出力はすべて、mysql の問題かどうかを確認しようとしました。私はphpmyadminで直接クエリを実行しましたが、すべてが保存されましたが、フォームでは取得されませんが、echoは完全な詳細を提供します。

4

1 に答える 1

1

これが私が使用したコードです

<?php 

include('connect.php'); 

$html = file_get_contents("http://santabanta.com/photos/amisha-patel/402186.htm"); 

$doc = new DOMDocument();
@$doc->loadHTML($html);

$tags = $doc->getElementsByTagName('img'); 

foreach ($tags as $tag) { 
    $data = get_headers($tag->getAttribute('src'),1); 
    $filesize = (intval($data["Content-Length"])/1024);
    // Modify the integer below to what size KB you want.
    if($filesize >= 10){ 
        //echo $tag->getAttribute('src');
        $url = $tag->getAttribute('src');
        // Do the insert here so it enters if all criteria are met.
        $query = "INSERT INTO tablea (url) VALUES ('" . mysql_real_escape_string($url) . "')";
        $result = mysql_query($query);
        // This to check what the error may be and your insert statement.
        if(!$result) echo mysql_error() . " | " . $query . "<br />";
    } else {
        echo "File not added: ".$tag->getAttribute('src')." | " .$filesize. "kb<br />";
    }
}

?>

そして、私の結果は次のとおりです。

File not added: http://media.santabanta.com/medium/indian%20%20celebrities(f)/sambhavna%20seth/sambhavna-seth-10a.jpg | 6.015625kb
File not added: http://media.santabanta.com/medium/bollywood%20movies/jism%202/jism-2-17a.jpg | 4.9638671875kb
File not added: http://media.santabanta.com/medium/indian%20%20celebrities(f)/kangana%20ranaut/kangana-ranaut-45a.jpg | 5.09375kb
File not added: http://media.santabanta.com/medium/indian%20%20celebrities(f)/bidita%20bag/bidita-bag-0a.jpg | 8.7138671875kb
File not added: http://media.santabanta.com/medium/indian%20%20celebrities(f)/ileana/ileana-14a.jpg | 6.703125kb
File not added: http://media.santabanta.com/medium/indian%20%20celebrities(f)/yami%20gautam/yami-gautam-6a.jpg | 4.78515625kb
File not added: http://media.santabanta.com/medium/bollywood%20movies/ek%20tha%20tiger/ek-tha-tiger-15v.jpg | 6.15234375kb
File not added: http://media.santabanta.com/medium/events/independence%20day/independence-day-78a.jpg | 8.470703125kb
File not added: http://media.santabanta.com/medium/bollywood%20movies/ek%20tha%20tiger/ek-tha-tiger-14a.jpg | 5.8408203125kb
File not added: http://media.santabanta.com/medium/indian%20%20celebrities(f)/diana%20penty/diana-penty-3a.jpg | 7.7099609375kb
File not added: http://media.santabanta.com/medium/indian%20%20celebrities(f)/sana%20khan/sana-khan-2a.jpg | 6.6640625kb
File not added: http://media.santabanta.com/medium/emotions/love/love-126a.jpg | 4.18359375kb
File not added: http://b.scorecardresearch.com/p?c1=2&c2=13655906&cv=2.0&cj=1 | 0.0009765625kb

ファイルは条件に一致しないため、追加されません。今回データベースに追加された画像は 2 つだけです。

于 2012-08-17T02:23:41.480 に答える