2012-12-02 53 views
0

我有一個需要兩個值的表單。一個需要一個.txt文件,一些鏈接被硬編碼的文件和一個帶有url的文本字段。當我按下提交時,它會使用該URL並檢查* .txt文件上的每個鏈接。希望你明白我的意思,如果不是,請評論我將澄清它。現在我有問題。我的代碼在鏈接所在的文件不在我的服務器上時才起作用。我不怎麼處理這個問題。我已經完成了我的搜索,我也嘗試了mysql,但這對我來說並不好。我的腳本是這樣的:我的腳本不能讀取* .txt文件

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

現在,我的PHP腳本是這樣的:

$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

請澄清一下「我的代碼不能正常工作......」是指 –

+0

我的代碼只能如果.txt文件在服務器上。如果不是代碼也不行 –

回答

2

有你從未read the documentation about how PHP處理上傳排在首位的原因嗎?這將明確表示$_FILES['ufile']數組,因此您的代碼無法工作。如果你真的想繼續。如果不瞭解它編寫代碼,然後替換:

$file = $_FILES['ufile']; 

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