2015-02-10 147 views
1

無法解決如何通過PHP編寫基本文本文件。現在已經嘗試了一個星期,但下面的例子是我一直在嘗試的一些基本代碼。我通過SSH使用root登錄到在Debian Wheesy上運行PHP 5.4的beagle bone black。如何將數據寫入到php中的文本文件中

當我將瀏覽器指向頁面時,它顯示hello world類型並且不顯示錯誤,但是當我去嘗試找到文件時,我找不到(找到/ -name data.txt)。測試PHP文件位於var/www 我確定這是基本的,我失蹤了...任何洞察力將不勝感激。

<html> 
<head> 
<title>PHP Test</title> 
</head> 
<body> 
<?php echo '<p>Hello World4</p>'; 

$fp = fopen('data.txt', 'w'); 
fwrite($fp, '1'); 
fwrite($fp, '23'); 
fclose($fp); 

// the content of 'data.txt' is now 123 and not 23! 

echo '<p>Hello World Again</p>'; 

?> 
</body> 
</html> 
+0

您是否嘗試過file_put_contents?我更喜歡f函數。我通常使用絕對路徑,這也可能是你的問題。 – chris85 2015-02-10 01:44:44

+0

歡迎來到Stack Overflow!請[編輯]您的問題,以澄清您是否無法找到該文件或理解它的內容爲何如此。感謝您提高問題的參考價值! – 2015-02-10 01:50:17

+0

chris85,是的,我也嘗試了幾個file_put_contents示例代碼。 – graceyj20 2015-02-10 01:57:40

回答

4

你說你使用root登錄SSH?我會猜測它可能是data.txt文件或父文件夾的權限問題。嘗試建立在同一個目錄下的文件作爲PHP文件通過SSH(你在帖子發佈的內容)是這樣的:

touch data.txt 
sudo chown www-data:www-data data.txt 

這應該使該文件屬於默認的Apache用戶(WWW的數據)和默認的apache組(www-data)。

+0

這樣做!謝謝!有沒有什麼辦法可以在將來避免這個問題,或者我應該在每次需要創建新文件時重置權限? – graceyj20 2015-02-10 02:05:58

+0

就我個人而言,我會創建一個具有正確權限的文件夾,並執行您在該文件夾中編輯的所有文件。因此,如果您使用權限777或擁有者www-data:www-data在您的服務器上創建文件/目錄,然後將所有可編輯文件放入其中,則您不必擔心權限。 – Jonathan 2015-02-10 02:07:51

+0

非常感謝喬納森,我做了一個chmod 777子文件夾,它現在在子文件夾中創建文件,而不必更改每個特定新文件的權限。完善! – graceyj20 2015-02-10 02:30:58

相關問題