国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php學習之道:坑爹的file_exists

2020-03-22 17:47:17
字體:
來源:轉載
供稿:網友
  • 介紹 我發現了一個問題,今天與大家分享。我把整個過程描述一下。 問題   公司有個框架是基于smarty寫的,我負責php的升級,維護人員把新環境布上來之后,測試人員找我提出經常報錯(錯誤:提示找不到文件的)。  我追蹤了一下代碼,原來是smarty的這個地方報的錯誤。  

    qqGqysLH6dKyw7u94r72o6y+zdXi0fnPyLK7wcvBy9auoaPJ/by2tcTKwsfpz8i1os7z18WhozwvcD4KPHA+oaGhob3xzOzT1reiz9bV4rj2zsrM4qOsztK12tK7t7TTpsrHcGhwsOaxvsrHsrvKx8n9vLbBy6Ost6LP1sO709Cho6Gqoaq688C0sNHV+7j2xL/CvMno1sOzyTc3N77Nw7vKwsHLKGNobW9kIDc3NyAtUiDEv8K8KaGjztLP68rHsrvKx2ZpbGVfZXhpc3RzKCm3vbeozsrM4qGjPC9wPgo8cD6hoaGhy/nS1KOsztK+zb340NDBy8/gudi1xLX3ytS6zcq10emhoyA8L3A+CjxwPjxpbWcgc3JjPQ=="http://www.it165.net/uploadfile/files/2014/0721/20140721184542570.png" alt="">

    調試過程 調試代碼:

    目錄:

    觀察各個權限:test對www是沒有任何權限的,而執行文件index.php有讀寫執行權限,包含文件test.txt有讀寫權限。

    運行結果:

    qqGqNzU1Cgo8cD48aW1nIHNyYz0="http://www.it165.net/uploadfile/files/2014/0721/20140721184543577.png" alt="">

    既然成功了,說明file_exists()函數是受目錄權限的限制的。

    那什么樣的目錄權限影響file_exists()呢?

    我做了幾個實驗:

    1、文件的任何上級目錄,只有寫權限時報文件不存在;

    2、文件的任何上級目錄,只有讀權限時也報文件不存在;

    3、而當所有上級目錄都有執行權限的時候,報文件是存在的,一切都正常。

    結果,說明file_exists()在判斷文件是否存在的時候是遞歸判斷每個目錄是不是有執行權限。

    修改文件路徑為相對路徑,得出一樣的結果。

    總結 在php手冊上并沒有提到,file_exists會受目錄的執行權限影響。今通過此文告知那些也有這方面問題的開發者。僅以此為戒。 附加信息 感謝大家留的言,非常有用。經過大家的意見我再查了下手冊,確實,如果目錄沒有執行權限,php-fpm應用進程就不能到這個目錄下面去進行文件搜索,當然就認為文件不存在(實際是認為沒有可執行的目錄是不存在的)。手冊內容,大家可以一起斟酌一下,主要是執行權限。在這里就不詳談讀寫權限了(一般都很好理解)。

    明顯手冊中,對目錄的執行權限有明確的指示。對目錄的執行權限,就是擁有被搜索的權利。

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 昌乐县| 西青区| 长顺县| 邓州市| 西充县| 安国市| 海丰县| 扶风县| 普兰店市| 阿拉善左旗| 杭州市| 台州市| 克山县| 翁牛特旗| 铁力市| 彰化县| 海安县| 邯郸县| 东乌| 腾冲县| 海阳市| 新余市| 罗平县| 芒康县| 界首市| 溧水县| 中宁县| 宜昌市| 南澳县| 庄河市| 罗甸县| 江门市| 和田市| 莱西市| 石景山区| 泰州市| 德江县| 临武县| 交口县| 蒲城县| 万安县|