即使目錄存在,爲什麼會出現此錯誤?它工作正常,如果我的目標父目錄,我試圖使用%20而不是太空間,並試圖刪除最後/但沒有作品!PHP opendir問題
警告:執行opendir(/家/ XXXX/user_files /用戶/ XXXX/test目錄/)[function.opendir]:未能打開目錄:在沒有這樣的文件或目錄/家庭/ XXXX /的public_html /公測/ stream._pages/file._list._i.php上線54
(注:XXXX只是我封殺用戶名)
即使目錄存在,爲什麼會出現此錯誤?它工作正常,如果我的目標父目錄,我試圖使用%20而不是太空間,並試圖刪除最後/但沒有作品!PHP opendir問題
警告:執行opendir(/家/ XXXX/user_files /用戶/ XXXX/test目錄/)[function.opendir]:未能打開目錄:在沒有這樣的文件或目錄/家庭/ XXXX /的public_html /公測/ stream._pages/file._list._i.php上線54
(注:XXXX只是我封殺用戶名)
製作一個名爲test.php的,並把它放在你的測試目錄。在該文件中,把這個代碼:
<? echo dirname(__FILE__);?>
然後,訪問test目錄/ test.php的在Web瀏覽器,複製和在test.php的粘貼給出的路徑,並嘗試使用該執行opendir確切路徑。
另一個問題可能是您的目錄的權限是不正確的,嘗試chmodding 777
是的,但我想起來,但該文件夾不在public_html下。也許他可以通過ssh + php CLI做到這一點。 –
或主機的文件管理器。 –
是啊......我無法通過瀏覽器訪問它來做到這一點。該命令將通過SSH執行什麼? –
對於任何試圖找到的public_html文件夾以外的文件夾中。
此代碼是由php.net爲opendir()
功能提供:
if ($handle = opendir('../../../../'))
{
echo "Directory handle: $handle\n";
echo "Entries:\n";
/* This is the correct way to loop over the directory. */
while (false !== ($entry = readdir($handle)))
{
echo "$entry\n";
}
/* This is the WRONG way to loop over the directory. */
while ($entry = readdir($handle))
{
echo "$entry\n";
}
closedir($handle);
}
解決方案
的$handle
我開始檢查出我能在多大程度上與'../'
添加儘可能多回去.. /儘可能直到你找到你需要的文件夾。從那裏你可以猜到。
對我來說'../../../../'
已經足夠了,它在每臺服務器上都不一樣。
看來目錄名稱中的空格有問題。我怎樣才能讓它**允許**使用空格? –
我認爲你在你的url中缺少public_html。 –
/home/xxxx/user_files/users/xxxx/test目錄/似乎並不適合我。 –