2010-09-30 4 views
1

J'ai ce code:tableau de charge de PHP à partir du fichier foreach

require("class.XMLHttpRequest.php"); 
function hot($news){ 
$url="https://localhost/search.aspx?search=".$news.""; 
$ajax=new XMLHttpRequest(); 
$ajax->setRequestHeader("Cookie","Cookie: host"); 
$ajax->open("GET",$url,true); 
$ajax->send(null); 
if($ajax->status==200){ 
    $rHeader=$ajax->getResponseHeader("Set-Cookie"); 
    if(substr_count($rHeader, "Present!")>0) { return true; } 
}else{ return false; } 
} 

$celebrities = array('britney','gaga','carol'); 
$filename = 'result.txt'; 
$handle = fopen($filename, 'a'); 
foreach($celebrities as $celebrity) 
{ 
    if(hot($celebrity)) { fwrite($handle, "{$celebrity}\r\n"); }; 
} 
fclose($handle); 

Et au lieu de

$celebrities = array('britney','gaga','carol'); 
$filename = 'result.txt'; 
$handle = fopen($filename, 'a'); 
foreach($celebrities as $celebrity) 
{ 
    if(hot($celebrity)) { fwrite($handle, "{$celebrity}\r\n"); }; 
} 
fclose($handle); 

Je veux mettre en œuvre

$read_file = fopen('array.txt', 'r'); 
$write_file = fopen('result.txt', 'a'); 

while(!feof($read_file)) 
{ 
    $celebrity = fgets($read_file); 
    if(hot($celebrity)) { fwrite($handle, "{$celebrity}\r\n"); } 
} 

fclose($write_file); 
fclose($read_file); 

maintenant ne marche pas result.txt s'écrit plus, où vais-je mal? le script devrait lire un tableau à partir d'un fichier, traiter la fonction à chaud et ensuite écrire chaque résultat dans une nouvelle ligne dans result.txt merci d'avance!

Répondre

1

En supposant que vous avez une seule Celeb par ligne:

$celebrity = trim(fgets($read_file)); 

Comme fgets retournera une chaîne y compris le caractère de nouvelle ligne.

+0

grâce, il a travaillé – adam

0

Sur la ligne:

if(hot($celebrity)) { fwrite($handle, "{$celebrity}\r\n"); } 

Vous utilisez $handle, qui ne se définit plus. Vous voulez être à l'aide $write_file à la place:

if(hot($celebrity)) { fwrite($write_file, "{$celebrity}\r\n"); } 
+0

merci, je forogot à ce sujet – adam

Questions connexes