2012-10-04 94 views
-1

我已經搜索了,並且今天早上搜索了3個多小時,並嘗試了超過10個不同的設置,以便如何抓取並顯示來自url的圖像列表,而且它們都無法正常工作。我要麼最終沒有信息顯示,或500錯誤。有人能指點我一個例子,或者在這裏幫助我如何正確地做到這一點。 file_get_contents不是一個可行的選項。php從遠程目錄中獲取所有文件

example目錄:http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/

文件,我知道,在這個目錄: 001.JPG, 002.JPG, 003.JPG

我想輸出是準確的網址文件。

讓我知道是否需要更多信息,我不是100%確定如何解釋它正確的大聲笑。

編輯:

好了,所以我想我真正想要做的是檢查URL爲所有的圖像標記,並與完整的URL到圖像顯示一個列表。

新來使用這個URL +圖像+ PHP的東西,所以請不要打我太難與你downvote錘沒有評論哈哈。

代碼我想:

<?php 
/* 
Credits: Bit Repository 
URL: http://www.bitrepository.com/ 
*/ 

$url = $location; 

// Fetch page 
$string = FetchPage($url); 

// Regex that extracts the images (full tag) 
$image_regex_src_url = '/<img[^>]*'. 

'src=[\"|\'](.*)[\"|\']/Ui'; 

preg_match_all($image_regex, $string, $out, PREG_PATTERN_ORDER); 

$img_tag_array = $out[0]; 

echo "<pre>"; print_r($img_tag_array); echo "</pre>"; 

// Regex for SRC Value 
$image_regex_src_url = '/<img[^>]*'. 

'src=[\"|\'](.*)[\"|\']/Ui'; 

preg_match_all($image_regex_src_url, $string, $out, PREG_PATTERN_ORDER); 

$images_url_array = $out[1]; 

echo "<pre>"; print_r($images_url_array); echo "</pre>"; 

// Fetch Page Function 

function FetchPage($path) 
{ 
$file = fopen($path, "r"); 

if (!$file) 
{ 
exit("The was a connection error!"); 
} 

$data = ''; 

while (!feof($file)) 
{ 
// Extract the data from the file/url 

$data .= fgets($file, 1024); 
} 
return $data; 
} 
?> 

,並返回一個空白頁

+1

Downvote沒有評論...謝謝! – rackemup420

+0

再次閱讀您的問題8-10次後,我現在已經徹底迷惑了自己,不確定我的答案是否有幫助。爲什麼不是file_get_contents()一個選項?該網址不是一個目錄..這是一個網站。當你說「文件我知道它在那個目錄中」時,你是什麼意思?你只是想獲得一個頁面上使用的所有圖像?哪些圖片?只是''標籤或在CSS中使用的標籤呢? –

+0

對不起,我告訴過你,我不知道如何正確解釋它大聲笑。我想要做的就是抓住所有標籤,並將它們作爲列表顯示給我,作爲該圖像的完整網址。而我在另一篇文章中讀到file_get_contents並不總是得到所有的文件...我是新來的這個東西。 – rackemup420

回答

2

你已經嘗試過的代碼基於鬆散的(但問題是千瘡百孔)。這會抓取URL $url的全部內容,解析出屬性,然後輸出它們。

因爲這個特定的網絡主機使用<base href=""/>標記來重置頁面上所有URL的基本部分,所以我添加了一個$base變量,您應該將其設置爲基本標記的內容。

此外,它看起來像這個特定的網絡主機有一些非常聰明的反盜鏈的地方,所以並不是所有的圖像可見。

但是!給它一個旋風,讓我知道它是否做到了你需要它,以及任何問題。

<?php 

$url = 'http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/'; 
$base = 'http://www.webtoonlive.com/'; 

// Pull in the external HTML contents 
$contents = file_get_contents($url); 

// Use Regular Expressions to match all <img src="???" /> 
preg_match_all('/<img[^>]*src=[\"|\'](.*)[\"|\']/Ui', $contents, $out, PREG_PATTERN_ORDER); 

foreach ($out[1] as $k=>$v){ // Step through all SRC's 

    // Prepend the URL with the $base URL (if needed) 
    if (strpos($v, 'http://') !== true) $v = $base . $v; 

    // Output a link to the URL 
    echo '<a href="' . $v . '">' . $v . '</a><br/>'; 
} 

輸出示例:

http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/000.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/001.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/002.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/003.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/004.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/005.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/006.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/007.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/008.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/009.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/010.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/011.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/012.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/013.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/014.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/015.jpg 
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/016.jpg 
+0

當$ url不=時,Works無瑕疵=另一個變量。但是當我將它切換到'$ url = $ location'時,它會顯示一個沒有任何內容的空白頁面。 '$ location = mysql_real_escape_string($ _ REQUEST ['q']);'是它的設置。 – rackemup420

+0

如果你var_dump($ _REQUEST ['q']);'?看看你的'$ _REQUEST ['q']'變量的內容是什麼。除非你把URL放回到數據庫中,否則你可能不需要'mysql_real_escape_string()' –

+0

將它改回到'$ url = $ location',並且它第二次工作......也許我拼錯了一些東西第一次運行大聲笑...謝謝你的時間很棒。現在我可以更快地獲取漫畫,而不必在視圖源輸出中搜索鏈接1。 – rackemup420

相關問題