dポイントプレゼントキャンペーン実施中!

宜しくお願いいたします。
<input type="file">で一時的にサーバの/tmpフォルダに写真データをアップし、その後、move_uploaded_fileを使って特定のフォルダに移動しました。が、その移動したファイルのパーミッションが600になってしまうのです。移動したら、そこから動かせなくなってしまいます。このパーミッションをmove_uploaded_fileで移動した後で、755や777にする事は出来るのでしょうか?

A 回答 (4件)

「chmod」という関数があります。


いかがでしょうか??

参考になれば幸いです。

参考URL:http://jp2.php.net/manual/ja/function.chmod.php

この回答への補足

ありがとうございます。
早速やってみました。教えて頂いた関数でパーミッションの変更は成功しました!ありがとうございます!!
しかし、ファイルの移動が出来ませんでした(>_<)。一度アップしてmove_uploaded_fileで移動したファイルをさらに、move_uploaded_fileで別のフォルダに移動する事は出来ないのでしょうか??
すみません。質問の趣旨が変わってしまいましたm(__)m

補足日時:2005/03/16 10:42
    • good
    • 0

ファイルを移動するときは、rename()ね。


rename("/tmp/foo.txt", "/home/user_a/docs/foo.txt");
みたいな感じで。

ちなみに削除したいときは、
unlink("/tmp/foo.txt")
で。
    • good
    • 0
この回答へのお礼

ありがとうございますm(__)m
renameでもファイルの移動が出来るんですね(^.^)
削除もできました!アップロードばかりだと、使わないファイルが山積みになってしまいますから、非常に助かる関数です!!
勉強になりましたーm(__)m

お礼日時:2005/03/18 17:58

「move_uploaded_file」は、アップロードされた直後のファイルを操作する関数のために、


一度、コピーしなおしたものには使えません。

その場合は、「copy」を使用してください。


参考になれば幸いです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速copyで試したところ、うまくいきました!
ありがとうございましたーm(__)m
もっと勉強します・・・

お礼日時:2005/03/18 17:56

move_uploaded_file は、POST でアップロードされたファイルに対してのみ、有効なのではないでしょうか?



コピーしたり移動した後のファイルは、上記のような有効なファイルではないので、move_uploaded_file は動作しないのでは!?


php のファイルシステム関数に copy があるので、これでコピー&移動ではダメですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
ご返信遅くなりました。
おっしゃる通り、POSTでアップロードしたファイルしかこの関数では移動できないんですね(>_<)
全く勉強不足でした。
ありがとうございましたーm(__)m

お礼日時:2005/03/18 17:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!