下面是一個PHP文件的內容:file_put_contents不能在命令行中使用?
<?
file_put_contents('test.txt', 'stuff');
echo 'complete';
?>
我把這test.php
,它位於/mnt
。它擁有777個權限。現在我進入SSH,並執行:sudo /usr/bin/php /mnt/test.php
。我收到腳本底部的complete
消息。現在,我進入/mnt
。 Text.txt不存在。是什麼賦予了?
下面是一個PHP文件的內容:file_put_contents不能在命令行中使用?
<?
file_put_contents('test.txt', 'stuff');
echo 'complete';
?>
我把這test.php
,它位於/mnt
。它擁有777個權限。現在我進入SSH,並執行:sudo /usr/bin/php /mnt/test.php
。我收到腳本底部的complete
消息。現在,我進入/mnt
。 Text.txt不存在。是什麼賦予了?
您尚未指定路徑,因此您在當前工作目錄中將stuff
放入text.txt
。這將運行sudo
,而不是目錄的PHP腳本是在之前的目錄,你cd
(對於一個新的外殼或默認目錄)
正確的代碼是這樣的:
file_put_contents(__DIR__.'/test.txt', 'stuff');
echo 'complete';
否則,PHP在「當前工作目錄」,寫文件,而不是在那裏放
更改您的代碼包含的絕對路徑,像這樣:
file_put_contents('/mnt/test.txt', 'stuff');
其他,PHP只會將文件寫入工作目錄(通常爲/home/user
)