- 1 名前:nobodyさん [2008/11/12(水) 10:35:13 ID:j29vKJ+C]
- が、ぐぐっても参考になるサイトが見つからないのでソースや解説サイト教えてください。
愛の手をヽ(;´Д`)ノ
- 24 名前:1 [2008/11/16(日) 03:49:53 ID:bd9Qfzm9]
- >>21が分かりづらいかなと思ったんで再度。
//アップロードファイルの条件 $max_file_size="104,857,600"; $permit_ext=array("zip","lzh","rar"); $upload_dir="upfiles/"; $uploaded_file_tmp=$_FILES["upfile"]["tmp_name"]; $uploaded_file_name=$_FILES["upfile"]["name"]; $uploaded_file_size=$_FILES["upfile"]["size"]; $uploaded_file_ext=pathinfo($_FILES["upfile"]["name"],PATHINFO_EXTENSION); $uploaded_file_pass=$_POST["pass"]; //チェック if (!is_uploaded_file($uploaded_file_tmp) == true) { ←日本語ファイルを指定したらここでtrueになっちゃうんです。 echo "ファイルを選択してください。"; exit; } elseif(!$uploaded_file_pass) { echo "削除Passを入力してください。"; exit; } elseif($max_file_size > $uploaded_file_size) { echo "100MBを超えるファイルはアップロードできません。"; exit; } elseif(!in_array($uploaded_file_ext,$permit_ext)) { echo "ZIP、RAR、LZH形式のファイルを指定してください。"; exit; }
- 25 名前:nobodyさん mailto:sage [2008/11/16(日) 10:58:11 ID:???]
- >>24
ファイルのアップロードに関して、ファイル名をそのまま使いたい とかないなら日本語ファイル名とかあんま関係ない。 実態はtmp_nameになってるから。 それを使いたいなら、SJISだからエンコード変換する必要は有る。 ファイルそのものがアップされないって言ってるから <form>に >>12 で示したenctypeが入ってないんじゃないか?
- 26 名前:1 [2008/11/16(日) 11:39:14 ID:bd9Qfzm9]
- >>25
レスありがとうございます。 <form>のソースですが、 <form action="action.php" method="post" enctype="multipart/form-data"> <p>アップロードするファイルを選択してください。 <input type="file" name="upfile" /></p> <p> 削除パスワードを入力してください。 <input type="password" name="pass" /></p> <p><input type="submit" value="実行" /></p> <p><input type="reset" value="リセット" /></p> </form> でenctypeは指定してあります。 >>それを使いたいなら、SJISだからエンコード変換する必要は有る。 これですが、mb_convert_encoding(***,"SJIS")を使っても結果が同じでしたorz
- 27 名前:1 [2008/11/16(日) 11:40:59 ID:bd9Qfzm9]
- >>25
SJISへのエンコードですが、 $_FILES["upfile"]["tmp_name"]と$_FILES["upfile"]["name"]のどちらに使うのが正しいのでしょうか? tmpが一時的に保存されたファイルでnameの方が指定されたファイル名と認識しているのですが
- 28 名前:1 [2008/11/16(日) 13:45:22 ID:bd9Qfzm9]
- 経過報告です。
どうやら日本語がだめなんじゃなくてファイルによってうまくいくときといかないときがあるみたいです・・・ まだ原因がわからないのでいろいろ検証してまた報告します
- 29 名前:1 [2008/11/16(日) 15:13:35 ID:bd9Qfzm9]
- www9.atpages.jp/~pakupaku001/log/002.zip
どうしても原因がわかりません。 作成したファイルをアップしますのでチェックしていただけないでしょうか? 日本語の書庫ファイルの場合のみうまくいったりいかなかったりします。 うまくいかないときは$_FILES["upfile"]["tmp_name"]がからっぽという状態です
- 30 名前:nobodyさん mailto:sage [2008/11/17(月) 04:15:56 ID:???]
- >>29
あぁ、自分で$max_file_sizeを制限してるつもりだろうけど、 そもそもPHPで設定されたサイズ以上はアップできんよ。 phpinfo()でupload_max_filesizeって項目を探してみ。 デフォだと2Mになってるとおもう。 jp.php.net/manual/ja/ini.core.php#ini.upload-max-filesize これ解除するには.htaccessが使えて、php_valueを設定できる とかじゃないとダメで、まぁそれができるかどうかはレンサバによる。
- 31 名前:nobodyさん [2008/11/17(月) 12:47:27 ID:zq7HbAGh]
- >>30
レスありがとうございました。 ご指摘の通りでPHP自体にアップロードできるファイル容量制限があることを知りませんでしたorz そこを変更したら大丈夫になりました。
- 32 名前:1 [2008/11/17(月) 12:51:29 ID:zq7HbAGh]
- 日本語でファイルのアップロード(容量、拡張子、パス制限あり)に加え、
後々の管理のためにMysqlにファイルの名前などの情報を格納する仕様にしようと思っています。 SQLに取得した情報を保存するところまでは成功しているのですが、管理をする上でsqlに必要なフィールドはどんなものがあるでしょうか? 自動付番のID、ファイル名(日本語)、日時、削除passぐらいしか思いつかなくて・・・ あとDBにファイル自体を格納することは可能でしょうか? 初心者なのでお手数をおかけしてすみませんがよろしくお願いします。
- 33 名前:nobodyさん mailto:sage [2008/11/17(月) 13:43:18 ID:???]
- 少しは自分の頭で考えろ
- 34 名前:nobodyさん mailto:sage [2008/11/17(月) 20:48:02 ID:???]
- 初心者関係ねーだろそれ
- 35 名前:nobodyさん mailto:sage [2008/11/17(月) 23:18:54 ID:???]
- blob
- 36 名前:nobodyさん mailto:sage [2008/11/18(火) 00:54:37 ID:???]
- >>32
>SQLに取得した情報を保存するところまでは成功しているのですが、管理をする上でsqlに必要なフィールドはどんなものがあるでしょうか? >自動付番のID、ファイル名(日本語)、日時、削除passぐらいしか思いつかなくて・・・ とりあえずそれでOK。作ってみて足りなかったらALTERかけて フィールド増やせば良い。初心者なんだからとりあえず動くもの作ってから悩め。 >あとDBにファイル自体を格納することは可能でしょうか? できるが、まだそのレベルには達してない。 それより先にやることがいっぱいあるでしょ。
- 37 名前:nobodyさん mailto:sage [2008/11/18(火) 10:07:54 ID:???]
- >>36
ありがとうございます。 とりあえず今思いつく限りの機能を順番に加えながら悩んでやってみます(o*。_。)oペコッ
- 38 名前:nobodyさん mailto:sage [2008/11/19(水) 21:18:58 ID:???]
- これくらいちゃっちゃかと自分で作れないようでは
コッポラたんがいても気づくことができないから危ないGス
|

|