2011-07-05 5 views
0

s3fsを使用してamazon s3ドライブをファイルシステムにマウントしています。 PHPのrename()関数を使ってローカルファイルをマウントされたドライブに移動すると、何も起こりません。これにはrename()を使用できますか?マウントされたs3ドライブにローカルファイルを移動できませんか? PHP

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

上記のコードは機能しません。ドライブはファイルが見えるようにマウントされているようです。

それはそれは権限の問題だっ判明 - 私はs3fsのための「allow_other」オプションでそれを固定しますが、(名前の変更使用している間今私はこのPHPのエラーを取得しています):

failed to open stream: Input/output error 

答えて

0

私が持っていました私はJavaを使っていました。 s3fsはファイルシステムをエミュレートするので、ファイルをあるファイルシステムから別のファイルシステムにコピーすることは不可能です。

ファイルのコピーを2つ作成する必要がありました。 1つはローカルfsに、もう1つはエミュレートされたドライブに転送されます。

+0

問題は実際にはs3fsに固有の問題ではありません。 – duskwuff

3

一般的なファイルシステム間でファイルの名前を変更することはできません。ファイルをコピーして元のファイルを削除する必要があります。この宝石here見つかり

0

(。それは自動的に状況を検出し、全体のコピー/削除の事をしているので問題はmvで発生していない) - およびアップロードしようとしたとき、それは私の「入力/出力エラー」を解決しました私のマウントS3バケットにファイル:

は最近、私は新しいR188のインストールに悪名高い「入力/出力エラー」に走りました。 S3バケットはうまくいきましたが、それ以外はすべて正しいですが、まだ動作していませんでした。

私の問題がsecretAccessKeyの一部である「+」文字と関係していることを発見するまでにはかなりの時間がかかりました。

私は新しいアクセスキーを作成し、その情報を/etc/passwd-s3fsファイルに置き換え、すべての作業を開始しました。

関連する問題