人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpについて

フォームからファイルをアップしているのですが
アップできるファイルとできないファイルがあります。

例えば a.pdf はアップできるが b.pdf はアップできない。
と言う状態です。

アップできないファイルは
他の処理を書かずに、phpの最初に print $_FILES['hoge']['size']; としても「0」と表示されます。
$_FILES['hoge']['name'] はきちんとファイル名を表示します。

アップできるファイルはきちんとサイズを返してくれますし
保存もできるのでコードが間違っているとは思えないのですが.....

思い当たる原因を教えてください。

よろしくお願いします。

一応
サーバの容量は沢山空いておりアップするスペースがないと言うことはありません。
アップできないファイルは巨大だからということもありません。
ファイルが空と言うことはありません。

●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:hoge name PDF PHP print
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● pahoo
●20ポイント ベストアンサー

php.ini の upload_max_filesize は何Mバイトに設定されていますか?

これを超えるサイズのファイルはアップすることが出来ません。

◎質問者からの返答

ありがとうございます。

この値より少ないファイルでも無理でした。


2 ● ymlab
●20ポイント

サーバにApacheをお使いの場合、Apacheの方の設定も検討してみましたか?

おそらくデフォルトでは2MB, 20MBに設定されていたような覚えがあります。

[私もここでつまずきました。]

http://se-suganuma.blogspot.com/2009/02/apachephpini.html

http://it.cardinals-fan.com/archives/21

◎質問者からの返答

ありがとうございます。

現在再確認しています。


3 ● y-kawaz
●20ポイント

アップロードファイルのサイズ制限に問題がないと仮定します。

そういった中でも僕も昔同じようなことを経験したことがあります。

たまたまファイルのバイナリ中に、ウィルスチェックパターンに引っかかっているバイト列があり、それが原因でファイヤウォール等により送信中に切断されてしまうという現象に出会ったことがあります。

その場合は回避策としてファイアウォールの設定を確認するか、もしくはzip圧縮し直すなどとして全く別のバイナリにすることで回避が出来る可能性もあります。

◎質問者からの返答

ありがとうございます。


4 ● organic19
●20ポイント

まず、基本的なことですが、確認する手順として、

apacheのphp.iniの下記設定

・upload_max_filesize

・post_max_size

・memory_limit

HTML(input typeタグ)の MAX_FILE_SIZEの設定

value値は設定されていますか?

name値とpost値は同じですか?

その他

スクリプトを見ないとわかりませんが、スクリプトがおかしいとか。

ファイヤーフォール関連、そもそもファイルが壊れてる等。

◎質問者からの返答

ありがとうございます。

MAX_FILE_SIZE は設定していません。

ファイヤーフォール関連はわかりません。

ファイルはpdfとして開けるファイルです。


5 ● asahiru
●20ポイント

>アップできるファイルはきちんとサイズを返してくれますし

>保存もできるのでコードが間違っているとは思えないのですが.....

>print $_FILES['hoge']['size']; としても「0」と表示されます。

たぶん、コードが間違っています。

print $_FILES['hoge']['error'];

で確認してみてはどうでしょうか?

◎質問者からの返答

ありがとうございます。

「4」でした。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ