スレッド表示 | フラット表示〕 全トピック 920 件中 307 番目 次≫ ≪前

1Mバイトを超えるアップロード

created: 2005-12-03 10:18 | modified: 2005-12-12 03:30 | reply: 2

[2781] 1Mバイトを超えるアップロード

user: Title | created: 2005-12-03 10:18
こんにちは。ファイルのアップロードに関してうまくいかず
苦心しております。どなたかご教授ください。

サーバは有料レンタルサーバ(Tok2プロ、PHPは4みたいです)を使っています。
1Mバイトを超えるファイルをアップしようとすると「ページを表示できません」と表示されます。Firefoxでは「このページにはデータがありません」とアラートが表示されます。1M以下では問題はありません。

一方私のローカル環境(Apach2、PHP4)では同じスクリプトで同じファイルをアップロードしても問題なく動きます。

サーバ側の上限(upload_max_filesize)によるものかと考えサーバに問い合わせたところ「サーバの上限は10Mにしております」と返答を頂きました。返ってくるエラーを見る限り一時領域自体にファイルが転送されていない感じがします。もちろんスクリプトのMAX_FILE_SIZEは十分大きい値をとってあります。

どこに原因があるのかわからずどうにも解決できなく困っております。どなたかお答えいただければ幸いです。よろしくお願いいたします。
reply: 2789 2811 返信 編集 削除

[2789] 1Mバイトを超えるアップロード

user: Master nambul ホームページ | created: 2005-12-08 02:00
ソースを全部みてないので、上の説明だけではわかりませんが、多分経路の問題だと思います。
まず、経路を確認してください。
例えば、
<img src=localhost/$フォルダ/$file名>に書いてあったら、自分のURLに変えてみてください。
例えば、
<img src=XXXX.co.jp/~XXXX/$フォルダ/$file名>

もうひとつ、自分でmkdirを使ってフォルダを生成し、chmod 777で設定した場合、このソースを参照してください。

$save_dir="$board";
//アップロードするファイルを検査、サーバーの一時的に
//(tmp_name)のところにアップする。
if(is_uploaded_file($_FILES["imgup"]["tmp_name"])){
//時間を変数化
$mktime=mktime();
//アップするファイル=時間+"_"+アップするファイル
//例えば、testfile.jpgが同時にアップされたら、時間_testfile.jpgになる
//ファイルが重なることを防ぐためである。
$imgup_name=$mktime."_".$imgup_name;
//経路を決める
//board/$imgup_name(アップするファイル名)
$dest=$save_dir."/".$imgup_name;
//アップロードに失敗した場合
if(!move_uploaded_file($imgup,$dest)){
die("アップロードに失敗しました。");
}
もし、まだ直ってなかったらソースをみせてください。
Parent: 2781  返信 編集 削除

[2811] もしくはタイムアウト

user: ごいんきょ。 | created: 2005-12-12 03:30
もしくは、単なるタイムアウトではないでしょうか。
サーバでは、1つのアクセスに対し、応答を試みる(処理を行う)制限時間を設けています。

1Mというのは、かなり大きなサイズなので、送信するだけで相当時間がかかるはずです。
サイズが小さければ、問題ないというのであれば、やはりサーバかブラウザのタイムアウトだと思います。

タイムアウトの場合、デフォルトだと
「ページを表示できません」
の表示が出ます。
Parent: 2781  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 307 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑