php fopen權限不夠的解決方法:1、開啟終端機指令視窗;2、在terminal中執行指令「sudo chmod 666 testOpen.php」即可。
本文操作環境:linux5.9.8系統、PHP7.1版、DELL G3電腦
PHP使用fopen()函數開啟檔案提示權限不夠問題
PHP fopen() 函數
函數定義與用法:fopen() 函數開啟檔案或URL。
語法:
fopen(filename,mode,include_path,context)
後兩個參數是可選的,我們只用了前兩個參數,程式碼如下:
<?php //打开文件流 $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); //向文件中写入字符串 fwrite($myfile, "Hello World"); //关闭文件句柄 fclose($myfile); ?>
程式碼所實現的功能為:以寫入方式開啟目前路徑下的一個名稱為newfile.txt的文件,如果文件不存在則嘗試建立之。開啟檔案以後,向檔案中寫入Hello World字串,最後關閉檔案。
目前資料夾路徑下沒有newfile.txt文件,此時執行上述程式碼出現錯誤如下:
##權限不夠? Linux下最常出現的問題哈,是沒有在硬碟上建立檔案的權限嗎?我嘗試給testOpen.php賦更高的權限吧,所以我就在terminal中執行瞭如下命令:Warning: fopen(newfile.txt): failed to open stream: 權限不夠in
/home/yums/web/blog_for_r&d/scripts/testOpen.php on line 3
Unable to open file!
sudo chmod 666 testOpen.php這樣PHP文件就有了創建文件的權限了吧,我再刷新頁面試試,WTF,還是原來那個問題!
Warning: fopen(newfile.txt): failed to open stream: 權限不夠in算了,我不用這個函數來建立檔案了,我用gedit自己建立newfile.txt檔案好了。於是我在terminal中執行瞭如下命令:/home/yums/web/blog_for_r&d/scripts/testOpen.php on line 3
Unable to open file!
gedit newfile.txt這樣我就創建好了一個文件,再刷新,還是權限不夠,我還是看一下這個newfile.txt文件到底有什麼權限吧,在terminal中執行以下指令:
ls -all發現用記事本建立的newfile.txt只有讀取權限,沒有寫入的權限,好吧問題出在這呢,給newfile.txt檔案提升寫的權限吧:
sudo chmod 666 newfile.txt現在再刷新頁面,沒有報錯了,文件中也寫入了對應的字串。 推薦學習:《
PHP影片教學》
#以上是如何解決php fopen 權限不夠問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!