我試圖編輯外部文件。我已經改變文件的chmods(666),我可以使用的file_get_contents讀取該文件,但我無法把內容:使用php編輯外部服務器上的文件
[function.file-把-內容]:未能打開流:HTTP包裝不支持可寫連接
我怎麼能解決這個問題?
有沒有辦法在外部服務器上編輯文件?也許你能提出更好的方法
我試圖編輯外部文件。我已經改變文件的chmods(666),我可以使用的file_get_contents讀取該文件,但我無法把內容:使用php編輯外部服務器上的文件
[function.file-把-內容]:未能打開流:HTTP包裝不支持可寫連接
我怎麼能解決這個問題?
有沒有辦法在外部服務器上編輯文件?也許你能提出更好的方法
CHMOD外部服務器0777的文件(S),那麼他們可以在外部改變:
<?php
chmod("/somedir/somefile", 0777);
?>
然後使用編輯:
<?php
$file = fopen ("ftp://login:[email protected]", "w");
if (!$file) {
echo "<p>Unable to open remote file for writing.\n";
exit;
}
/* Write the data here. */
fwrite ($file, "blablabla");
fclose ($file);
?>
要意識到這可能會造成重大的安全風險。
我有打開問題 - 不知道如何打開文件 - 「ftp:// loginpassword @ server」 - 它看起來不正確,「ftp://[email protected]/file.txt」也是如此。 – andrewpo
檢查的http://us.php.net/manual/en/function.file-put-contents.php上有URL文件規範文件寫入一些線索的「注意事項」一節。 tl; dr:不如通過file_get_contents()讀取遠程文件可能會讓你相信。
這是一個壞主意,不過,從安全角度來看。一對夫婦稍微好點子:
檢出ssh2_scp_send並scp文件的本地更改副本到遠程服務器。這可能涉及通過您的操作系統供應商安裝SSH2 PECL擴展(例如,將它們安裝在適用於Debian型Linux機器的'apt',適用於Red Hat等的'yum'或類似軟件中)或從PECL安裝。
發佈到遠程服務器上的腳本,並使其更新文件爲您服務。
你想要什麼樣的文件來改變? –
php文件和txt文件 - 試圖更改兩個並失敗兩次 – andrewpo
你想更改外部文件,然後將其存儲在該外部服務器?或者你想更改文件並將更改後的版本存儲在自己的服務器上? –