2014-01-13 102 views
-1

我有以下警告應該在那裏,但有沒有辦法阻止他們寫入頁面而不實際禁用全局警告?PHP停止警告1行代碼

警告:

警告:的file_get_contents(E:/connected.txt):未能打開流: C中沒有這樣的文件或目錄:\ XAMPP \ htdocs中\ PPA \上線的test.php 19

警告:的file_get_contents(F:/connected.txt):未能打開流: 在C無這樣的文件或目錄:\ XAMPP \ htdocs中\ PPA \ test.php的第19行

警告: file_get_contents(G:/connected.txt):無法打開流: 否第19行的C:\ xampp \ htdocs \ ppa \ test.php中的uch文件或目錄

警告:file_get_contents(H:/connected.txt):未能打開流: C: \ XAMPP \ htdocs中\ PPA上線\ test.php的19

警告:的file_get_contents(I:/connected.txt):未能打開流: C中沒有這樣的文件或目錄:\ XAMPP \ htdocs中\ PPA \上線19 test.php的

警告:的file_get_contents(Y:/connected.txt):未能打開流: 在C無這樣的文件或目錄:\ XAMPP \ htdocs中\ PPA \上線19

test.php的

警告:的file_get_contents(K:/connected.txt):未能打開流: 在C無這樣的文件或目錄:\ XAMPP \ htdocs中\ PPA \ test.php的第19行

警告:的file_get_contents( L:/connected.txt):無法打開流: 第19行中的C:\ xampp \ htdocs \ ppa \ test.php中沒有此文件或目錄

警告:file_get_contents(M:/connected.txt) :未能打開流: 第19行中的C:\ xampp \ htdocs \ ppa \ test.php中沒有此文件或目錄

警告:file_get_contents(N:/connected.txt):未能打開流: 在C無這樣的文件或目錄:\ XAMPP \ htdocs中\ PPA \ test.php的第19行

警告:的file_get_contents(O:/connected.txt):未能打開流: 沒有這樣的文件或在目錄C:\ XAMPP \ htdocs中\ PPA \ test.php的第19行

警告:的file_get_contents(P:/connected.txt):未能打開流: 在C無這樣的文件或目錄:\ XAMPP \ htdocs中\ PPA \上線test.php的19

PHP功能:

//Check if the connection file is present on each drive 
function scanDrives() { 
    //Possible drives 
    $letters = "DEFGHIJKLMNOP"; 
    $letters = str_split($letters); 

    $code = md5("FMbHSBTMTXhu3TWp"); 

    //Check for a certain file on each device 
    foreach($letters as $x) { 
     $file = file_get_contents($x.":/connected.txt"); //This is what causes the error as the file can't be found. 
     if ($file != false) { 
      $file_code = split(":", $file); 
      //Check if the file has the correct pass code 
      if($file_code[0] == $code) { 
       //Successful, return pass value and device letter and set name 
       echo (1).",".$x.",".$file_code[1]; 
      } 
     } 
    } 
} 

謝謝。

回答

4

不要盲目地用file_get_contents打開文件。檢查它是否先存在。

if(file_exists($x.":/connected.txt")){ 
    $file = file_get_contents($x.":/connected.txt"); 
    // ... 
} 
+1

這比使用'@'抑制更好。 +1 – naththedeveloper

+0

@FDL:我會*從不*建議'@'操作符。它總是*更好地檢查/處理錯誤,而不是盲目地忽略它們:-) –

1

我同意@Rocket危險品,

但回答你的問題 - 在PHP中您可以使用Error Control operators ..具體來說,你可以用@符號來忽略錯誤。

簡單的例子

$file = @file_get_contents("file_doesnt_exist.php"); // wont throw any errors. 
+1

我真正使用@操作符的唯一時間是使用DOMXpath來避免其他人的文檔中出現xml/xhtml錯誤。知道這一點很有用,但總是更好地解決錯誤,而不是將它們推到地毯下。 – codeaddict