バージョン選択

フォーラム

メニュー

オンライン状況

79 人のユーザが現在オンラインです。 (70 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 79
もっと...

サイト内検索

質問 > その他 > イメージのアップロード失敗

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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できました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,900名です
総投稿数は110,006件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.