2014-11-04 67 views
1

我想我可能會在我的手上有一個海森伯。到目前爲止我的代碼看起來是這樣的:「預計參數1是一個有效的路徑,字符串給出」

$enc = $_REQUEST['l']; 
$filename = DecryptString($enc); 

echo $filename; //Displays: uploads/Maid with the Flaxen Hair.mp3 


if (is_dir($filename)) //Gives the error: "Warning: is_dir() expects parameter 1 to be a valid path, string given" 
{ 

    Download($filename); 
} 

但是,如果我拿正如前面echo'ed什麼,這是uploads/Maid with the Flaxen Hair.mp3,並運行is_dir("uploads/Maid with the Flaxen Hair.mp3"),它返回預期。

所以如果我把變量傳入is_dir,它會失敗,但是如果我傳遞它的變量的值的話。有什麼收穫?

+0

檢查您的目錄的權限?如果apache用戶無法讀取它,is_dir可能會失敗 – 2014-11-04 22:46:18

回答

2

DecryptString()在最後返回帶有NULs(\0)的字符串。

確保在嘗試使用該值之前將其修剪掉。

您可以修剪NULL字符$enc = trim($enc);

相關問題