ファイルアップロード - PHPプロ!Q&A掲示板

349

  • 0P

ファイルアップロード

質問日時 / 2007年2月7日 19:38    回答数 / 12件

Questioner:  marco  このエントリーをはてなブックマークに追加 

キーワード / キーワードが設定されていません

初心者です。マニュアルを見てファイルアップロードのPHPを作成したのですがURLがみつからないというエラーメールが出てファイルがアップできません。ちなみに動画のファイルをアップできるようにしたいのですが・・。マニュアル通りではだめなのでしょうか?phpはapacheで作動している状況です、php.iniも設定は済ませています。どなたか教えて下さい。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01signal確認されたマニュアルとは何でしょうか?  参考URL
 ┗A01-1marcosignalさん有難うございます。 ソースを載せるので不
  ┗A01-1-1signalHTMLには問題はなさそうです。 upload.php は同じ
   ┗A01-1-1-1marcosignalさんありがとうございます。 upload.phpの中身
    ┗A01-1-1-1-1signalこちらの環境でも同じコードで試してみました。 と
     ┗A01-1-1-1-1-1marcosignalさん、いつもアドバイス有難うございます。
      ┗A01-1-1-1-1-1-1signalHTML をアップロードされたディレクトリ(フォルダ)
       ┗A01-1-1-1-1-1-1-1marcosignalさんアドバイス有難うございます。 upload.p
        ┗A01-1-1-1-1-1-1-1-1signalform.html の置いてある同じ場所にに upload.php を置
         ┗A01-1-1-1-1-1-1-1-1-1marcosignalさんいつもアドバイス有難うございます。 >
          ┗A01-1-1-1-1-1-1-1-1-1-1signal> 投稿したあとにURLが正しくないと表示されてしまう
           ┗A01-1-1-1-1-1-1-1-1-1-1-1marcosignalさんアドバイス有難うございます。 >http://

回答一覧

並び替え:

A01
answerersignal [2月7日 22:56]

確認されたマニュアルとは何でしょうか?
 参考URLがあるならそちらを提示してください。

作成されたソースを可能な限り記載できますか?
 現状ではエラー部分を指摘することもできません。


ただ、URLが見つからないとのことですので、

<form method="POST" action="****" enctype="multipart/form-data">

の **** の部分をもう一度確認してみてください。
作成されたファイル名になっていますか?

ファイルをアップロードする際には enctype は記載してくださいね。

この意見に回答する

ツリーへ TOPへ

A01-1
replyermarco [2月9日 02:45]

signalさん有難うございます。
ソースを載せるので不備があったら教えて下さい
お願いします。
<html>
<head>
<title>アップロード</title>
<meta http-equiv="Content-type" content="text/html;charset=Shift_JIS">
</head>

<body bgcolor="#FFFFFF"text="#000000">
<font size="4">アップロード</font>
<form method="post" enctype="multipart/form-data" action="upload.php">
 
 作品:
 <INPUT type="file" name="uploadfile">
 <BR>
 説明:
 <INPUT type="text" name="comment">
 <BR>
 <BR>
 <INPUT type="submit" value="投稿">
 </form>
 </body>
 </html>

この意見に回答する

ツリーへ TOPへ

A01-1-1
replyersignal [2月9日 22:28]

HTMLには問題はなさそうです。

upload.php は同じフォルダにありますか?

upload.php は「アップロードが成功しました」など
何かしらのメッセージは出力しますでしょうか?

もしよろしければ upload.php の内容もチラッっと
見せてもらえるともっと明確なアドバイスができるかも!
しれません。

この意見に回答する

ツリーへ TOPへ

A01-1-1-1
replyermarco [2月12日 21:00]

signalさんありがとうございます。
upload.phpの中身を載せたので何か変なとこや直したとこがあれば
教えていただけると有難いです。ちなみにupload.phpはapache groupeのhtdocsの
中に設置してあります。
<html>
<head>
<title>ファイルアップロード</title>
</head>
<body>

<?php

$file_dir = 'C:\Program Files\ApacheGroupe\Apache2\htdocs\image\\';

$file_path = $file_dir . $_FILES["uploadfile"]["name"];

if(move_uploaded_file($_FILES["uploadfile"]["tmp_name"],$file_path)){

$img_dir = "/image/";

$img_path = $img_dir . $_FILES["uploadfile"]["name"];

$size   = getimagesize($file_path);

?>

ファイルアップロードを完了しました。<br>

<IMG src="<?=$img_path?>"<?=$size[3]?>><br>

<b><?=mb_convert_encoding($_POST["comment"],"EUC-JP","SJIS")?></b><br>

<?php

} else {

?>

正常にアップロード処理されませんでした。<br>

<?php

}

?>

</body>
</html>

ファイルを読み込んださいのphpって準備する必要はありますか?
もし必要な場合そのphpはどこに設置すればよいのでしょうか?

この意見に回答する

ツリーへ TOPへ

A01-1-1-1-1
replyersignal [2月14日 11:31]

こちらの環境でも同じコードで試してみました。

とりあえずアップロードは問題なくできるようです。
# アップロード後の画像前提な扱いは置いておいて

「URLが見つかりません」というのは

1. アップロードファイルを選択するHTMLが表示できない

2. ファイルを選択し投稿を押下後の遷移先が表示できない

3. アップロードしたファイルが表示できない

どこのタイミングでそうなるのでしょうか?


> ファイルを読み込んださいのphpって準備する必要はありますか?

いまいち質問が理解できないのですが、
DocumentRoot以下にファイルを格納するのであれば必須ではないです。
ただ、アップロードファイルを整形して表示したいのであれば必要だと思われます。

この意見に回答する

ツリーへ TOPへ

A01-1-1-1-1-1
replyermarco [2月15日 01:58]

signalさん、いつもアドバイス有難うございます。

signalさんのとこではアップロードできるんですね・・・。

>「URLが見つかりません」というのは

>1. アップロードファイルを選択するHTMLが表示できない

>2. ファイルを選択し投稿を押下後の遷移先が表示できない

>3. アップロードしたファイルが表示できない

>どこのタイミングでそうなるのでしょうか?

ファイルを選択するHTMLは表示されるのでそこは問題ないです。
ファイルをアップしようとして投稿ボタンを押すとURLがないという
表示がされます。

この場合はどのようにすればいいのでしょうか?

アドバイスお願いします。

この意見に回答する

ツリーへ TOPへ

A01-1-1-1-1-1-1
replyersignal [2月18日 17:38]

HTML をアップロードされたディレクトリ(フォルダ)には upload.php も
アップロードされていますか?

URL がないと言われたならそこにファイルがないものと思われます。

アップロードされたファイル名の大文字小文字全角半角は大丈夫ですか?

この意見に回答する

ツリーへ TOPへ

A01-1-1-1-1-1-1-1
replyermarco [2月19日 23:18] (最終編集:2月20日 03:08)

signalさんアドバイス有難うございます。

upload.phpはアップロードしてあります。

なんでアップロードできないんでしょうか?

エラーの表示がアドレスが正しくないため表示できません。

となりました。

upload.phpとform.htmlのおき場所はapacheのdocumentrootと

ローカルディスク(C)の両方に置く必要があるのでしょうか?

upload.phpとform.htmlのプログラムが正しいとなれば

問題があるのはそこしかないと思うのですが、どうでしょうか?

あとapacheのファイルやphpそのもののファイルはアップロードする必要があるんですか?

何度もすいませんが宜しくお願いします。

この意見に回答する

ツリーへ TOPへ

A01-1-1-1-1-1-1-1-1
replyersignal [2月22日 00:18]

form.html の置いてある同じ場所にに upload.php を置けば動くはずです。

ファイルの置く場所はもちろん DocumentRoot の下です。
そこだけで大丈夫です。


とりあえず
  1. <?php phpinfo()?>
だけの PHP ファイルをアップロードしてみてください。
ちゃんと動きますか?

この意見に回答する

ツリーへ TOPへ

A01-1-1-1-1-1-1-1-1-1
replyermarco [2月25日 20:16]

signalさんいつもアドバイス有難うございます。

> <?php phpinfo(); ?>はローカルホストでは正常に作動してます。

投稿したあとにURLが正しくないと表示されてしまう原因にはどんな事が考えられますか?

それとphpファイルはform.htmlと同じDocumentRootに置くとの事ですが
form.htmlはマイコンピューターの(C)に置いてあります。ここであってますか?

アドバイスお願いします

この意見に回答する

ツリーへ TOPへ

A01-1-1-1-1-1-1-1-1-1-1
replyersignal [2月25日 20:36]

> 投稿したあとにURLが正しくないと表示されてしまう原因にはどんな事が考えられますか?

1. URLの構文が間違っている
2. ファイルが存在しない

くらいでしょうか・・・

http://~~~/upload.php
リンク後は↑のように http から始まる URL になっていますか?


> それとphpファイルはform.htmlと同じDocumentRootに置くとの事ですが
> form.htmlはマイコンピューターの(C)に置いてあります。ここであってますか?

Apache の DocumentRoot が C ドライブになっているのでしたら、
それで大丈夫です。

この意見に回答する

ツリーへ TOPへ

A01-1-1-1-1-1-1-1-1-1-1-1
replyermarco [2月26日 20:21]

signalさんアドバイス有難うございます。

>http://~~~/upload.php
>リンク後は↑のように http から始まる URL になっていますか?

アップ後のURLはhttp://~~~/upload.phpと表示されるので
問題はないと思います。

>Apache の DocumentRoot が C ドライブになっているのでしたら、
>それで大丈夫です。 

ファイルの置き場所も問題はないみたいです。

と言うことは構文に問題がありそうです、前回構文をチェックしたもらったときは
問題ないとのことですが、$nameや$fileに何か(アップするファイル名など)代入する
必要はありますか?今は前回の構文をそのまま使用しているのですが。

アドバイスをお願いします。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
PHPのHTML埋め込み記述について
 このエントリーをはてなブックマークに追加 
A
$_POST["data"] == "男" ? $val = "checked" : $val = "" ; の意味は以下と同じです。 if($_POST["data"] == "男"){ $val = "checked; } e...

>>続きを読む

kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)