2016-11-24 54 views
0

這是我爲while()循環編寫的代碼,我想知道我錯誤的地方。只顯示一日一個數據(meetfreeman.com)while()循環中我的錯誤在哪裏?

+0

你預期有多少? –

+0

我想要在示例中顯示的所有數據(meetfreeman.com | back-capital.com | bitomine.com | thebillioncoins.com |)| –

+0

只是我的兩分錢。 Split已經從php 5.3中刪除,並在php 7.0中刪除,使用explode或str_split()。 –

回答

0

看看

<?php 
$asb = 'http://themonitors.net/sitelist.php'; 
// Example of my data = meetfreeman.com|back-capital.com|bitomine.com|thebillioncoins.com| 

$myfile = fopen($asb, 'r') or die("Unable to open file!"); 
// Output one line until end-of-file 
if ($myfile != '') { 
while(!feof($myfile)) { 
$string = fgets($myfile) ."<br><br>"; 

$matches = split('\|', $string); 

    $url = $matches[0]; 

    echo $url; 
} 
} else { 
    echo "0 results"; 
} 
fclose($myfile); 
?> 

我while()循環 - 斯普利特()需要更多的資源比爆炸()。使用這樣的:

UPDATE

$asb = 'http://themonitors.net/sitelist.php'; 

$myfile = file_get_contents($asb); 
if ($myfile != '') { 
    $urls = explode('|', $myfile); 
    foreach ($urls as &$url) { 
    echo $url; 
    } 
} else { 
    echo "0 results"; 
} 
+0

它顯示相同的只是一個數據請檢查這個http://themonitors.net/sitelist.php或我的數據的例子(meetfreeman.com | back-capital.com | bitomine.com | thebillioncoins.com |) –

+0

啊,這是因爲在http://themonitors.net/sitelist.php沒有換行符 - 所以只有一行可以解析。 – WEBjuju

+0

我明白你需要什麼。嘗試一下。哈哈哈,你想過了。 – WEBjuju

0

split功能你會得到一個數組都是你的價值,但在$url你從中只需要第一個項目。所以echo $url只輸出第一個項目。你想打印所有$matches陣列不是嗎?

您的代碼將是:

$asb = 'http://themonitors.net/sitelist.php'; 
// Example of my data = meetfreeman.com|back- capital.com|bitomine.com|thebillioncoins.com| 

$myfile = fopen($asb, 'r') or die("Unable to open file!"); 
// Output one line until end-of-file 
if ($myfile != '') { 
    while(!feof($myfile)) { 
     $string = fgets($myfile) ."<br><br>"; 
     $matches = split('\|', $string); 
     foreach($matches as $matche) { 
      echo $matche . "\n"; 
     } 
    } 
    } else { 
    echo "0 results"; 
} 
fclose($myfile); 
+0

正在使用echo $ url,因爲我將數據逐個插入到我的數據庫中 –

+0

感謝它的工作 –

0

如果所有的數據都在同一行嘗試用另一種方法。

$data = file_get_contents($file) 
$data = explode('|',$data); 

if(!empty($data)){ 
    (...) 
}else{ 
    echo '0 results'; 
}