檢查檔案或目錄是否存在 ,我們使用了php中常用的函數file_exists,這個函數就可以實現我想要的功能,下面大家慢慢參考一下
下面是一個簡單的檢查文件是否存在的實例代碼:
<span style="color: #000000">php </span><span style="color: #800080">$filename</span> = '/path/to/foo.txt'<span style="color: #000000">; </span><span style="color: #0000ff">if</span> (<span style="color: #008080">file_exists</span>(<span style="color: #800080">$filename</span>)) { <span style="color: #0000ff">echo</span> "The file <span style="color: #800080">$filename</span> exists"<span style="color: #000000">; } </span><span style="color: #0000ff">else</span><span style="color: #000000"> { </span><span style="color: #0000ff">echo</span> "The file <span style="color: #800080">$filename</span> does not exist"<span style="color: #000000">; } </span>?>
如果檔案存在,執行該PHP 檔案的顯示結果是:
The file C:blablaphphello.txt exists.
如果檔案不存在,執行該PHP 檔案的顯示結果是:
The file C:blablaphphello. exist.
你也可以用file_exists 函數測試某個目錄是否存在,範例程式碼如下:
<span style="color: #0000ff">if</span> (<span style="color: #008080">file_exists</span>("C:\blabla\php"<span style="color: #000000">)) {</span><span style="color: #0000ff">echo</span> "yes"<span style="color: #000000">;} </span><span style="color: #0000ff">else</span><span style="color: #000000"> {</span><span style="color: #0000ff">echo</span> "no";}
實例
<span style="color: #008000">/*</span><span style="color: #008000">* * 文件或目录权限检查函数 * * @access public * @param string $file_path 文件路径 * @param bool $rename_prv 是否在检查修改权限时检查执行rename()函数的权限 * * @return int 返回值的取值范围为{0 <span style="color: #008000">*/</span> <span style="color: #0000ff">function</span> file_mode_info(<span style="color: #800080">$file_path</span><span style="color: #000000">) { </span><span style="color: #008000">/*</span><span style="color: #008000"> 如果不存在,则不可读、不可写、不可改 </span><span style="color: #008000">*/</span> <span style="color: #0000ff">if</span> (!<span style="color: #008080">file_exists</span>(<span style="color: #800080">$file_path</span><span style="color: #000000">)) { </span><span style="color: #0000ff">return</span> <span style="color: #0000ff">false</span><span style="color: #000000">; } </span><span style="color: #800080">$mark</span> = 0<span style="color: #000000">; </span><span style="color: #0000ff">if</span> (<span style="color: #008080">strtoupper</span>(<span style="color: #008080">substr</span>(<span style="color: #ff00ff">PHP_OS</span>, 0, 3)) == 'WIN'<span style="color: #000000">) { </span><span style="color: #008000">/*</span><span style="color: #008000"> 测试文件 </span><span style="color: #008000">*/</span> <span style="color: #800080">$test_file</span> = <span style="color: #800080">$file_path</span> . '/cf_test.txt'<span style="color: #000000">; </span><span style="color: #008000">/*</span><span style="color: #008000"> 如果是目录 </span><span style="color: #008000">*/</span> <span style="color: #0000ff">if</span> (<span style="color: #008080">is_dir</span>(<span style="color: #800080">$file_path</span><span style="color: #000000">)) { </span><span style="color: #008000">/*</span><span style="color: #008000"> 检查目录是否可读 </span><span style="color: #008000">*/</span> <span style="color: #008000">//</span><span style="color: #008000"> http://www.manongjc.com/article/1354.html</span> <span style="color: #800080">$dir</span> = @<span style="color: #008080">opendir</span>(<span style="color: #800080">$file_path</span><span style="color: #000000">); </span><span style="color: #0000ff">if</span> (<span style="color: #800080">$dir</span> === <span style="color: #0000ff">false</span><span style="color: #000000">) { </span><span style="color: #0000ff">return</span> <span style="color: #800080">$mark</span>; <span style="color: #008000">//</span><span style="color: #008000">如果目录打开失败,直接返回目录不可修改、不可写、不可读</span> <span style="color: #000000">} </span><span style="color: #0000ff">if</span> (@<span style="color: #008080">readdir</span>(<span style="color: #800080">$dir</span>) !== <span style="color: #0000ff">false</span><span style="color: #000000">) { </span><span style="color: #800080">$mark</span> ^= 1; <span style="color: #008000">//</span><span style="color: #008000">目录可读 001,目录不可读 000</span> <span style="color: #000000">} @</span><span style="color: #008080">closedir</span>(<span style="color: #800080">$dir</span><span style="color: #000000">); </span><span style="color: #008000">/*</span><span style="color: #008000"> 检查目录是否可写 </span><span style="color: #008000">*/</span> <span style="color: #800080">$fp</span> = @<span style="color: #008080">fopen</span>(<span style="color: #800080">$test_file</span>, 'wb'<span style="color: #000000">); </span><span style="color: #0000ff">if</span> (<span style="color: #800080">$fp</span> === <span style="color: #0000ff">false</span><span style="color: #000000">) { </span><span style="color: #0000ff">return</span> <span style="color: #800080">$mark</span>; <span style="color: #008000">//</span><span style="color: #008000">如果目录中的文件创建失败,返回不可写。</span> <span style="color: #000000">} </span><span style="color: #0000ff">if</span> (@<span style="color: #008080">fwrite</span>(<span style="color: #800080">$fp</span>, 'directory access testing.') !== <span style="color: #0000ff">false</span><span style="color: #000000">) { </span><span style="color: #008000">//</span><span style="color: #008000"> http://www.manongjc.com/article/1353.html</span> <span style="color: #800080">$mark</span> ^= 2; <span style="color: #008000">//</span><span style="color: #008000">目录可写可读011,目录可写不可读 010</span> <span style="color: #000000">} @</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fp</span><span style="color: #000000">); @</span><span style="color: #008080">unlink</span>(<span style="color: #800080">$test_file</span><span style="color: #000000">); </span><span style="color: #008000">/*</span><span style="color: #008000"> 检查目录是否可修改 </span><span style="color: #008000">*/</span> <span style="color: #800080">$fp</span> = @<span style="color: #008080">fopen</span>(<span style="color: #800080">$test_file</span>, 'ab+'<span style="color: #000000">); </span><span style="color: #0000ff">if</span> (<span style="color: #800080">$fp</span> === <span style="color: #0000ff">false</span><span style="color: #000000">) { </span><span style="color: #0000ff">return</span> <span style="color: #800080">$mark</span><span style="color: #000000">; } </span><span style="color: #0000ff">if</span> (@<span style="color: #008080">fwrite</span>(<span style="color: #800080">$fp</span>, "modify test.rn") !== <span style="color: #0000ff">false</span><span style="color: #000000">) { </span><span style="color: #800080">$mark</span> ^= 4<span style="color: #000000">; } @</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fp</span><span style="color: #000000">); </span><span style="color: #008000">/*</span><span style="color: #008000"> 检查目录下是否有执行rename()函数的权限 </span><span style="color: #008000">*/<br></span></span>
// http://www.manongjc.com/article/1352.html
<span style="color: #0000ff">if</span> (@<span style="color: #008080">rename</span>(<span style="color: #800080">$test_file</span>, <span style="color: #800080">$test_file</span>) !== <span style="color: #0000ff">false</span><span style="color: #000000">) { </span><span style="color: #800080">$mark</span> ^= 8<span style="color: #000000">; } @</span><span style="color: #008080">unlink</span>(<span style="color: #800080">$test_file</span><span style="color: #000000">); } </span><span style="color: #008000">/*</span><span style="color: #008000"> 如果是文件 </span><span style="color: #008000">*/</span> <span style="color: #0000ff">elseif</span> (<span style="color: #008080">is_file</span>(<span style="color: #800080">$file_path</span><span style="color: #000000">)) { </span><span style="color: #008000">/*</span><span style="color: #008000"> 以读方式打开 </span><span style="color: #008000">*/</span> <span style="color: #800080">$fp</span> = @<span style="color: #008080">fopen</span>(<span style="color: #800080">$file_path</span>, 'rb'<span style="color: #000000">); </span><span style="color: #0000ff">if</span> (<span style="color: #800080">$fp</span><span style="color: #000000">) { </span><span style="color: #800080">$mark</span> ^= 1; <span style="color: #008000">//</span><span style="color: #008000">可读 001</span> <span style="color: #000000">} @</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fp</span><span style="color: #000000">); </span><span style="color: #008000">/*</span><span style="color: #008000"> 试着修改文件 </span><span style="color: #008000">*/</span> <span style="color: #800080">$fp</span> = @<span style="color: #008080">fopen</span>(<span style="color: #800080">$file_path</span>, 'ab+'<span style="color: #000000">); </span><span style="color: #0000ff">if</span> (<span style="color: #800080">$fp</span> && @<span style="color: #008080">fwrite</span>(<span style="color: #800080">$fp</span>, '') !== <span style="color: #0000ff">false</span><span style="color: #000000">) { </span><span style="color: #800080">$mark</span> ^= 6; <span style="color: #008000">//</span><span style="color: #008000">可修改可写可读 111,不可修改可写可读011...</span> <span style="color: #000000">} @</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fp</span><span style="color: #000000">); </span><span style="color: #008000">/*</span><span style="color: #008000"> 检查目录下是否有执行rename()函数的权限 </span><span style="color: #008000">*/</span> <span style="color: #008000">//</span><span style="color: #008000"> http://www.manongjc.com/article/1355.html</span> <span style="color: #0000ff">if</span> (@<span style="color: #008080">rename</span>(<span style="color: #800080">$test_file</span>, <span style="color: #800080">$test_file</span>) !== <span style="color: #0000ff">false</span><span style="color: #000000">) { </span><span style="color: #800080">$mark</span> ^= 8<span style="color: #000000">; } } } </span><span style="color: #0000ff">else</span><span style="color: #000000"> { </span><span style="color: #0000ff">if</span> (@<span style="color: #008080">is_readable</span>(<span style="color: #800080">$file_path</span><span style="color: #000000">)) { </span><span style="color: #800080">$mark</span> ^= 1<span style="color: #000000">; } </span><span style="color: #0000ff">if</span> (@<span style="color: #008080">is_writable</span>(<span style="color: #800080">$file_path</span><span style="color: #000000">)) { </span><span style="color: #800080">$mark</span> ^= 14<span style="color: #000000">; } } </span><span style="color: #0000ff">return</span> <span style="color: #800080">$mark</span><span style="color: #000000">; } </span>
PHP判斷目錄是否存在
<span style="color: #008000">/*</span><span style="color: #008000">*************************************************** * 将xml数据流,写入到xml文件 * @param $xmlData * @return bool|string </span><span style="color: #008000">*/</span> <span style="color: #0000ff">function</span> writeXmlFile(<span style="color: #800080">$xmlData</span><span style="color: #000000">) { </span><span style="color: #800080">$time</span> = <span style="color: #008080">time</span>(); <span style="color: #008000">//</span><span style="color: #008000">获取时间戳,用于给文件命名</span> <span style="color: #800080">$path</span> = <span style="color: #008080">dirname</span>(<span style="color: #ff00ff">__FILE__</span>); <span style="color: #008000">//</span><span style="color: #008000">获取当前绝对路径</span> <span style="color: #800080">$path</span> = <span style="color: #008080">substr_replace</span>(<span style="color: #800080">$path</span>, "", <span style="color: #008080">stripos</span>(<span style="color: #800080">$path</span>, "actions\data")); <span style="color: #008000">//</span><span style="color: #008000">将此文件所在的固有路径替换成空</span> <span style="color: #800080">$path</span> .= "<span style="color: #000000">xmlFiles\"; //存放目录名 /*判断目标目录是否存在,不存在则新建*/ if(!is_dir(</span><span style="color: #800080">$path</span><span style="color: #000000">)) { mkdir(</span><span style="color: #800080">$path</span><span style="color: #000000">); //新建目录 } /*记录完整路径和文件名*/ </span><span style="color: #800080">$filePathAndName</span> = <span style="color: #800080">$path</span>.<span style="color: #800080">$time</span>.".xml"<span style="color: #000000">; /*打开文件,文件名为 + <.xml>*/ // http://www.manongjc.com/article/1356.html </.xml></span><span style="color: #800080">$fp</span> = fopen(<span style="color: #800080">$filePathAndName</span>, "w"<span style="color: #000000">); if(!</span><span style="color: #800080">$fp</span><span style="color: #000000">) { return false; } /*写入文件流*/ </span><span style="color: #800080">$flag</span> = fwrite(<span style="color: #800080">$fp</span>, <span style="color: #800080">$xmlData</span><span style="color: #000000">); if(!</span><span style="color: #800080">$flag</span><span style="color: #000000">) { return false; } fclose(</span><span style="color: #800080">$fp</span><span style="color: #000000">); return </span><span style="color: #800080">$filePathAndName</span><span style="color: #000000">; } </span>
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
2 週前ByDDD
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Dreamweaver Mac版
視覺化網頁開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver CS6
視覺化網頁開發工具