2011-07-05 23 views
0

我正在使用s3fs將亞馬遜s3驅動器掛載到我的文件系統。當我使用PHP的rename()函數將本地文件移動到安裝的驅動器時,什麼都不會發生。重命名()可以使用嗎?無法將本地文件移動到安裝的s3驅動器? PHP

$tempfile = $_SERVER['DOCUMENT_ROOT'].'/temp.png'; 
rename($tempfile,'/mnt/test.png'); 

上面的代碼不適用於我。驅動器似乎已安裝,因爲我可以看到它的文件。

事實證明這是一個權限問題 - 我與「allow_other」選項s3fs固定的,但在使用重命名()現在我得到這個PHP錯誤:

failed to open stream: Input/output error 

回答

0

我有類似的問題,但我使用Java。由於s3fs模擬文件系統,因此無法將文件從一個文件系統複製到另一個文件系統。我不得不寫兩個文件副本;一個直接到本地FS然後一個到仿真驅動器。

+0

這個問題實際上不是特定於s3fs。 – duskwuff

3

一般而言,不能在文件系統間重命名文件。您必須複製文件,然後刪除原件。在上傳時,並且解決了我的「輸入/輸出錯誤」 - (該問題不會出現mv因爲它會自動檢測情況,並做了整個複製/刪除的東西。)

0

發現這種寶石here文件到我的安裝S3鬥:

最近,我在一個新的跑進臭名昭著「輸入/輸出錯誤」安裝R188的。 S3存儲桶很好,其他所有部件都正確,但仍然無法正常工作。

我花了很長時間才發現我的問題與secretAccessKey的一部分「+」字符有關。

我創建了一個新的訪問密鑰,並將該信息替換爲/etc/passwd-s3fs文件,並且所有文件都開始工作。

相關問題