2013-10-12 54 views
0
<?php 
    if(file_exists(dirname(__FILE__).'\<<<<<<<')) 
     echo "YES"; 
    else 
     echo "No"; 
?> 

我的服務器PHP的file_exists是Windows 2003的無效的文件名

當我在我的服務器上測試,響應是YES。

但我們都知道文件的名稱: 「< < < < < < <」 是無效的,所以命名文件 「< < < < < < <」 不存在

那麼究竟是什麼原因呢?

當我回聲目錄名(FILE ) '\ < < < < < < <'。

輸出爲C:\網站\ < < < < < < <

+0

檢查這是否仍然說不? <?=(file_exists(dirname(__ FILE __)。'\ <<<<<<<'))? 「是」:「否」; ?> –

+0

echo'dirname(__ FILE __)。'\ <<<<<<<'',會輸出什麼? – srain

+0

var_dump(is_file(dirname(__ FILE __)。'\ <<<<<<''));'output? –

回答

0

你確定你的文件名是正確的 「< < < < < < <」
如果是,那麼嘗試呼應整路徑首先
- $ filename = dirname(FILE)。 '\ < < < < < < <';
echo $ filename; //請看它是否返回正確的路徑

2

我認爲你應該檢查你的服務器文件管理器手冊或Windows服務器指南(論壇)。 因爲在任何Windows XP/7/8嘗試使名稱爲「 con「或」LPT1「,這將不允許生成...所以它被稱爲」EASTER Egg「問題......在你的情況下,我認爲這個問題就像復活節彩蛋。