プロが教えるわが家の防犯対策術!

初めて質問させて頂きます。php初心者で困っていますので教えて下さい。

申し込みフォームで画像を選択
 ↓
確認画面($_FILESに入っている画像を、uniqidで生成したファイル名で一時ファイルフォルダに保存

確認ボタンを押すと、申込内容をmysqlに登録、autoincrementしたシリアルナンバーを$_SESSIONに格納

完了画面でシリアルナンバー+拡張子でアップロードしたファイルをリネーム&フォルダ移動
というプログラムを作っているのですが、最後のリネーム&移動のところでエラーが出てしまいます。

出力されるエラーは
Warning: rename( tmp/5194a2db03b16.jpg, photo/164.jpg): in C:\xampp\htdocs\hogehoge\hoge\complete_01.php on line 18

オンラインサーバーにアップすると同じエラーは出ないのですが、コピーはされません。
参考にrename部分のコードです

//写真を指定フォルダに移動
$oldpath = " ichiji/". $_SESSION["onamae"];
$newpath = " photo/" . $_SESSION["id"];

$rename = rename($oldpath , $newpath);

$_SESSIONとファイルのパスですが、printで正しくデータが渡されていることを確認しています。

どなたか教えてください。

A 回答 (1件)

>出力されるエラーは


>Warning: rename( tmp/5194a2db03b16.jpg, photo/164.jpg): in
>C:\xampp\htdocs\hogehoge\hoge\complete_01.php on line 18

なのに

>$oldpath = " ichiji/". $_SESSION["onamae"];
>$newpath = " photo/" . $_SESSION["id"];

となっていますが「一時的な保存用ディレクトリ」は、tmpですか?ichijiですか?またディレクトリ名の最初にasciiの空白を入れているのは意図してのことでしょうか(printしても見分けにくいでしょうけど)。
    • good
    • 0
この回答へのお礼

フォルダ名の前にスペースが入っていたのが原因でした!
サーバー側の設定かと完全に思い込んでいました。本当にありがとうございます。

本当に初歩的なミスでスレッドを立ててすみません。

引き続き勉強させていただきます。

ありがとうございました。

お礼日時:2013/05/17 07:47

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