PHP fopen() 函數
函數定義與用法:fopen() 函數開啟檔案或 URL。
語法:
fopen(filename,mode,include_path,context)
後兩個參數是可選的,我們只用了前兩個參數,程式碼如下:
<code><span><span><?php</span><span>//打开文件流</span><span>$myfile</span> = fopen(<span>"newfile.txt"</span>, <span>"w"</span>) <span>or</span><span>die</span>(<span>"Unable to open file!"</span>); <span>//向文件中写入字符串</span> fwrite(<span>$myfile</span>, <span>"Hello World"</span>); <span>//关闭文件句柄</span> fclose(<span>$myfile</span>); <span>?></span></span></code>
程式碼所實現的功能為:以寫入方式開啟目前路徑下的名稱為newfile.txt的文件,如果文件不存在則嘗試建立之。開啟檔案以後,向檔案中寫入Hello World字串,最後關閉檔案。
目前資料夾路徑下沒有newfile.txt文件,此時執行上述程式碼出現錯誤如下:
目前資料夾路徑下沒有newfile.txt文件,此時執行上述程式碼出現錯誤如下:目前資料夾路徑下沒有newfile.txt文件,此時執行上述程式碼出現錯誤如下:目前資料夾路徑下沒有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中執行瞭如下命令:
<code><span>sudo</span> chmod <span>666</span> testOpen.php</code>
這樣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中執行瞭如下指令:
<code>gedit newfile<span>.txt</span></code>
這樣我就創建好了一個文件,再刷新,還是權限不夠,我還是看一下這個newfile.txt文件到底有什麼權限吧,在terminal中執行如下命令:
<code>ls -<span>all</span></code>
發現用記事本建立的newfile.txt只有讀取權限,沒有寫入的權限,好吧問題出在這呢,給newfile.txt檔案提升寫的權限吧:
<code><span>sudo</span> chmod <span>666</span> newfile.txt</code>
現在再刷新頁面,沒有報錯了,文件中也寫入了對應的字串。
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });以上就介紹了PHP使用fopen函數開啟檔案提示權限不夠問題,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。