$_FILES["image"]["tmp_name"]の扱いに問題があるかと思われます。
PHPの冒頭部分を下記のようにしてみてください。
if (is_uploaded_file(@$_FILES["image"]["tmp_name"][0])) { for ($i = 0; $i < 2; $i++) { $finfo = pathinfo($_FILES["image"]["name"][$i]); $ext = $finfo["extension"][$i]; $imgae[$i] = $save_dir.$_FILES["image"]["name"][$i]; $det_enc = mb_detect_encoding($string, $enc_disp . ", " . $enc_file); if ($det_enc and $det_enc != $enc_file) $image[$i] = mb_convert_encoding($image[$i], $enc_file, $det_enc); @copy($_FILES["image"]["tmp_name"][$i], $image[$i]); }
返信ありがとうございます!
早速コピーして再編集してみましたが、ページが表示されませんでした。$imageに格納された変数は$image、$image2と振り分ける構文はなくても動くのでしょうか?
申し訳ありませんが、もう一度、ご教授を願います。
再編集した構文は以下のとおりです。 http://www.impression.fm/code.html
まずは、ファイル1つアップロードするものをつくり
DBには格納しないで、サーバー側にファイルに出力するものを作成して
動作確認できてから
少しずつ拡張していく
返信ありがとうございます!
ファイルを1つアップロードする方法は、なんとか可能になりましたが…
拡張方法がつかめず仕舞いです。。。何か方法をご存知でしたら、ご教授ください!よろしくお願いします。
再編集した構文は以下のとおりです。 http:/www.impression.fm/code.html
動かさずに整形だけして確認してます
(1)動かない原因
if (is_uploaded_file(@$_FILES["image"]["tmp_name"])) {
に対する閉じ括弧が無いのが問題だと思うけど
(2)その他、今後問題となりそうな部分
(a)@ でエラーをスルーしてしまうと、どこが悪いか判らなくなる
エラーが起こる前提のプログラムは破綻する
issetで変数の存在を事前にチェックをする
or die
などにしたほうがいい
http://jp2.php.net/manual/ja/function.isset.php
(b)インデントは入れる
HTMLのソースを見てもインデント(字下げ)が無いように見えるのだけど、もしもインデント(字下げ)を入れていないならば面倒でも入れたほうがいい
先ほど見つけたのだけど、コピペするだけで整形してくれるオンラインサービスもあるみたい
http://codeassembly.com/examples/beautifier.php
(c)行が分かれる場合は面倒でもインデントと {かっこ}を使うほうが見やすくなる
if ($det_enc and $det_enc != $enc_file) { $image[$i] = mb_convert_encoding($image[$i], $enc_file, $det_enc); }
返信ありがとうございます!整形&修正してみます!!
1の方の仰る$_FILES["image"]["tmp_name"]の扱いの問題です。
var_dump($_FILES)
などとしてみると、
渡されてきている中身をみることができます。
複数の指定なのでこういうことが起きるのですが、
地味に2つ目のボックスのみでファイルを指定すると、
["tmp_name"][0]
では動かなかったりします。
渡されているハッシュの構造と、渡ってきたものの中身をみて確認していくことが、
この先つまずいても解決できるようになると思います。
デバッガを使ったりしていくと、またレベルが上がりますので、
いろいろお試しください。