2012-12-02 5 views
0

J'ai un formulaire qui prend deux valeurs. On prend un fichier .txt, le fichier où certains liens sont codés en dur et un champ de texte qui prend une URL. Quand j'appuie sur submit, il prend cette URL et vérifie chaque lien qui se trouve sur le fichier * .txt. J'espère que vous comprenez ce que je dis si ce n'est pas alors s'il vous plaît commenter je vais le clarifier. Maintenant j'ai des problèmes. Mon code ne fonctionne pas jusqu'à ce que le fichier auquel sont les liens ne soit pas sur mon serveur. Je ne sais pas comment gérer ce problème. J'ai fait ma recherche, j'essaye aussi mysql mais ce n'est pas correct pour moi. Mon script est la suivante:mon script ne lit pas le fichier * .txt

Enter your file :<input type="file" name="ufile" /> 
Enter your site name :<input type="text" name="utext" /> 
<input type="submit" value="Check" /> 

Maintenant, mon script php est la suivante:

$needle = $_POST['utext']; 
$file = $_FILES['ufile']; 
$new = file($file, FILE_IGNORE_EMPTY_LINES | FILE_SKIP_EMPTY_LINES); 
$new = array_map('trim', $new); 
echo 'Total entries are: '.count($new).'<br />'; 
$found = array(); 
$notfound = array(); 
foreach ($new as $check) { 
    echo "<table border='1'><tr>"; 
    echo "<td>Processing</td> <td>", $check,"</td></tr>"; 
    $a = file_get_contents($check); 
    if (strpos($a, $needle)) { 
     echo "<td><font color='green'>Found:</font></td>"; 
     $found[] = $check; 
    } else { 
     echo "<td><font color='red'>Not Found</font></td>"; 
     $notfound[] = $check; 
    } 
    echo "</tr></table>"; 
} 
echo "Matches ".count($found)."<br />"; 
echo "Not Matched ".count($notfound); 
+0

S'il vous plaît préciser ce que « Mon code ne fonctionne pas ... » signifie –

+0

mon code ne fonctionne que si le fichier .txt est sur le serveur. Si pas le code ne fonctionnera pas aussi –

Répondre

2

Yat-il une raison quelconque vous ne read the documentation about how poignées PHP ajouts en premier lieu? Cela signifierait que $_FILES['ufile'] est tableau, donc votre code ne peut pas fonctionner. Si vous voulez vraiment continuer à écrire du code sans comprendre d'abord, puis remplacer:

$file = $_FILES['ufile']; 

avec

$file = $_FILES['ufile']['tmp_name']; 
Questions connexes