首頁  >  文章  >  後端開發  >  如何解決php fopen 權限不夠問題

如何解決php fopen 權限不夠問題

藏色散人
藏色散人原創
2021-10-28 09:12:103735瀏覽

php fopen權限不夠的解決方法:1、開啟終端機指令視窗;2、在terminal中執行指令「sudo chmod 666 testOpen.php」即可。

如何解決php fopen 權限不夠問題

本文操作環境: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文件,此時執行上述程式碼出現錯誤如下:

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!

##權限不夠? Linux下最常出現的問題哈,是沒有在硬碟上建立檔案的權限嗎?我嘗試給testOpen.php賦更高的權限吧,所以我就在terminal中執行瞭如下命令:

sudo chmod 666 testOpen.php
這樣PHP文件就有了創建文件的權限了吧,我再刷新頁面試試,WTF,還是原來那個問題!

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!

算了,我不用這個函數來建立檔案了,我用gedit自己建立newfile.txt檔案好了。於是我在terminal中執行瞭如下命令:

gedit newfile.txt
這樣我就創建好了一個文件,再刷新,還是權限不夠,我還是看一下這個newfile.txt文件到底有什麼權限吧,在terminal中執行以下指令:

ls -all
發現用記事本建立的newfile.txt只有讀取權限,沒有寫入的權限,好吧問題出在這呢,給newfile.txt檔案提升寫的權限吧:

sudo chmod 666 newfile.txt
現在再刷新頁面,沒有報錯了,文件中也寫入了對應的字串。

推薦學習:《

PHP影片教學

#

以上是如何解決php fopen 權限不夠問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn