質問 > その他 > イメージのアップロード失敗 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mzon |
投稿日時: 2011/10/18 18:43
対応状況: −−−
|
半人前 登録日: 2010/12/24 居住地: 滋賀県 投稿: 27 |
イメージのアップロード失敗 いつも参考にさせていただいております。
下記環境に構築を行い、動作確認を行っていたのですが、 イメージのアップロードで「指定されたパスにファイルが見つかりません。」となってしまいました。 過去のフォーラムを確認し、「upload_tmp_dir」に権限がたりないのかとおもいいろいろとおこなったのですが、 現象が改善しなかったために、質問いたしました。 何か情報をお持ちであれば回答をお願い致します。 現象:支払方法設定のロゴ画像のアップロードボタンを押下すると「指定されたパスにファイルが見つかりません。」になる。 入力値:C:\tol.GIF 確認内容:サーバの「upload_tmp_dir」に一時ファイルが作成されない。 環境: EC-CUBE:2.11.2 サーバーOS Windows Server 2008 R2 Standard Edition Service Pack 1(64bit) DBサーバー:MySQL 5.5.16 WEBサーバー:Microsoft-IIS/7.5 PHP 5.3.8: HTTP:IE7 -----PHP------ Directive |Local Value |Master Value uploads |On |On max_file_uploads |20 |20 open_basedir |C:\PHP538\upload |C:\PHP538\upload upload_max_filesize|2M |2M upload_tmp_dir |C:\PHP\538\upload|C:\PHP\538\upload よろしくお願い致します。 |
mzon |
投稿日時: 2011/10/19 10:54
対応状況: −−−
|
半人前 登録日: 2010/12/24 居住地: 滋賀県 投稿: 27 |
イメージのアップロード失敗_追加 自己レスです。
確認をいろいろと行っていたのですが、 現象が少し異なりましたので追記します。 サーバのupload_tmp_dirにファイルはアップされているようです。 ・SC_UploadFileのmakeTempFileで$_FILES[$keyname]['error']を確認したら0の正常でした。(添付ファイル名もセットされています。) また、サーバのフォルダにもファイルが存在しました。 ・gdthumbのmakeThumbが実行された時に、ファイルがなくなってしまっているようです。 (SC_UploadFileのmakeTempFile内から呼んでいるのに・・・) サーバのフォルダからもファイルがなくなっています。 ・gdthumbのmakeThumbの結果を下記に変更し確認した結果 return array(0, "[" . $path ."]指定されたパスにファイルが見つかりません。"); [C:\PHP\538\upload\phpFFEA.tmp]指定されたパスにファイルが見つかりません。 となり、一時ファイルのフォルダ、ファイルと一致しています。 何が原因なのか?です。 |
mzon |
投稿日時: 2011/10/19 14:25
対応状況: −−−
|
半人前 登録日: 2010/12/24 居住地: 滋賀県 投稿: 27 |
イメージのアップロード失敗_追加2 さらに自己レスです。
下記をhtml直下に配置し実行した場合、正常にアップロードできました。(Sleepで停止しているあいだ、テンポラリーからファイルは削除されませんでした) どうもEC-CUBEの構造? どこかでリクエストが終了してしまっているのではないかと思えます。 ----- Form.html ------ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>sample</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> ファイル:<br /> <input type="file" name="upfile" size="30" /><br /> <br /> <input type="submit" value="アップロード" /> </form> </body> </html> ----- upload.php ------ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>sample</title> </head> <body> <p><?php sleep(5); if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { if (move_uploaded_file($_FILES["upfile"]["tmp_name"], "upload/save_image/" . $_FILES["upfile"]["name"])) { echo $_FILES["upfile"]["name"] . "をアップロードしました。"; } else { echo "ファイルをアップロードできません。"; } } else { echo "ファイルが選択されていません。"; } ?></p> </body> </html> |
mzon |
投稿日時: 2011/10/19 15:07
対応状況: −−−
|
半人前 登録日: 2010/12/24 居住地: 滋賀県 投稿: 27 |
Re: イメージのアップロード失敗 自己レスです。
解決しました。 ソースのいろいろな所に「Sleep(5);」を追加しつつ原因を調査したところ upload_tmp_dirにファイルがあるのに「data/module/gdthumb.php」の「file_exists($path)」 でFalseとなっていました。 ネットで調べたところ 1.IIS7.xはPHP 5.3.5以上である必要があり 2.open_basedir外ではダメ とありました。 1.は5.3.8なので問題ないし 2.の確認にphp.iniを再度確認したら・・・ 間違っていました、PHPフォルダ下にバージョンフォルダを作成していたのですが、間に「\」が無かったです。 お騒がせしました。 PHP.ini修正、IIS再起動で正常にUPできました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |