• 締切済み

PHPの掲示板について

http://ponk.jp/php/pgsql/upload 上のURLの画像アップロードのプログラムで同じように作成し 実行したのですが、画像を選択し、送信するとエラーが出ます。 画像サイズも形式も守っているのにどうしてか分かりません。 どうすれば画像もアップロードできるようになりますか?

みんなの回答

回答No.1

> 上のURLの画像アップロードのプログラムで同じように作成し実行した もっとも、その通り作成したのであれば、上手くいくはずですよね。 それでも、上手くいかないというのは、その通り作成されていないはず。 参考にしたサイトを示したところで、解決にはなりません。 重要なのは、あなたがどうソースコードを書いたのかをわかるようにしてください。 (1)エラーが出るといっても、どんなエラーなのか。 (2)あなたが書いたソースコードを示すこと。 以上の2点が最低限書かれていないと、回答できません。 ソースコードを示すことが出来ないのであれば、まずはエラーメッセージをそのままコピーして検索することです。たいてい、対処方法は見つかります。

tnk48
質問者

補足

エラーは画像をアップロードするとサーバが存在しませんとでます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHP 画像アップローダー作成について

    PHPの勉強をしている者です。 ローカル環境(XAMPP1.7.3)にて、画像アップローダーを動かそうと試みています。 が、一時ファイル名が取得できず、失敗に終わります。初歩的なミスかもしれません。 -------------------- 【upload.html】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>画像ファイルアップロード</title> </head> <body> <h1>画像ファイルアップロード</h1> <p>アップロードする画像ファイル(JPEG形式)を選択して「アップロード」ボタンを押してください。</p> <form action="upload_image.php" method="POST" enctype="multipart/form-data"> <table> <tr> <th>画像ファイル選択</th> <td><input type="file" name="filename" size="50"></td> </tr> <tr> <td colspan="2"> <input type="submit" value="アップロード"> </td> </tr> </table> </form> </body> </html> -------------------- 【upload_image.php】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>画像ファイルアップロード</title> </head> <body> <h1>アップロードファイル情報</h1> <p> <?php // ファイル名の取り出し $file_name = $_FILES['filename']['name']; // ファイル(MIME)タイプの取り出し $file_type = $_FILES['filename']['type']; // 一時ファイル名の取り出し $temp_name = $_FILES['filename']['temp_name']; // エラーコードの取り出し $upload_error = $_FILES["filename"]["error"]; // 保存先のディレクトリ $dir = 'uploads/'; // 保存先のファイル名 $upload_name = $dir . $file_name; // JPEG形式のファイルをアップロードする if (($file_type == "image/jpeg") || ($file_type == 'image/pjpeg')) { // アップロード(移動) $result = move_uploaded_file($temp_name,$upload_name); if ($result) { // アップロード成功時 echo '■アップロード成功'; } else { // アップロード失敗時 echo '■アップロード失敗'; } } else { // JPEG形式以外のファイルはアップロードしない echo '■JPEG形式の画像をアップロードしてください。'; } ?> </p> <table> <tr> <td colspan="2"><img src="<?php echo $upload_name; ?>" alt=""></td> </tr> <tr> <th>エラーコード</th> <td><?php echo $upload_error; ?></td> </tr> <tr> <th>画像ファイル名</th> <td><?php echo $file_name; ?></td> </tr> <tr> <th>MIMEタイプ</th> <td><?php echo $file_type; ?></td> </tr> <tr> <th>一時ファイル名</th> <td><?php echo $temp_name; ?></td> </tr> </table> </body> </html> -------------------- 【php.iniの一部】 ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. ; http://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir upload_tmp_dir = "C:\xampp\tmp" ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 128M -------------------- このように作っております。 結果は エラーコード→0 画像ファイル名→正常取得 MIMEタイプ→正常取得 一時ファイル名→空 どのような原因が考えられるか、教えて頂ければ幸いです。

    • ベストアンサー
    • PHP
  • upload_max_filesizeを超えるファイルのアップロード

    phpにて動画ファイルをアップロードするプログラムを作成しています。 うまくアップロードされないため調べましたところ、upload_max_filesizeを超えたサイズだったためでした。 現状、2Mになってます。 レンタルサーバーなので、php.iniは触れないので、upload_max_filesizeを変えずに対応したいのですが、どうにか方法はないものでしょうか?

    • 締切済み
    • PHP
  • phpで困っています。

    phpの初心者です。画像をアップロードするプログラムを作っていているのですが、 Parse error: syntax error, unexpected T_VARIABLE というエラーが出ます。 $new_name_log = "{$upload_name_l}\n"; array_push($upload_name_l, $new_name_log); file_put_contents($save_name_file, $name_log); この3行に原因があるので調べてみると、WEB上のサイトからソースコードをコピペしてきたときに陥りやすい、インデント(字下げ)のために、タブではなく全角スペースを使っていたのが原因とありました。確かに以前に作ったもののコピペです。コピーもとのプログラムはエラーは出ていません。全角スペースなども確かめたり、コピペではなく、自分で入力したりしてもエラーが消えません。どのように修正すれば良いのでしょうか。変数$upload_name_lや配列$upload_name_lには値が入っています。

    • 締切済み
    • PHP
  • phpで困ってます

    下記のphpで、写真をサーバーにアップロードして、2種類にリサイズして保存し、ファイル名をテキストで保存しようとしてるのですが、ファイル名をテキストで保存する部分file_put_contents($name_file,$name_log); にエラーがでます。写真はリサイズされ保存されています。何度か見直しているのですが、原因が分かりません。エラーの原因を教えていただきたいと思い、投稿しました。よろしくお願いします。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>画像ファイルアップロード</title> </head> <body> <?php // 名前保存のテキストファイル $name_file = "name.txt"; // 名前保存のテキストファイル読み込み用の配列 $name_log = array(); // 名前保存のテキストファイルを読み込み用の配列に読み込む if (file_exists($name_file)) { $name_log = file( $name_file ); } // 保存画像の保存先のディレクトリ $dir_l = 'uploads_l/'; // サムネイル画像の保存先のディレクトリ $dir_s = 'uploads_s/'; for ( $i=0; $i<count($_FILES['filename']['tmp_name']); $i++ ) { // ファイル名の取り出し $file_name = $_FILES['filename']['name'][$i]; // ファイル(MIME)タイプの取り出し $file_type = $_FILES['filename']['type'][$i]; // 一時ファイル名の取り出し $temp_name = $_FILES['filename']['tmp_name'][$i]; // 重複しないように日付をヘッダにする $head = date("YmdHis"); // 保存先のファイル名 $upload_name_l = $dir_l . $head ."-". $file_name; // サムネイル画像の保存先のファイル名 $upload_name_s = $dir_s . $head ."-". $file_name; // JPEG形式のファイルをアップロードする if (($file_type == 'image/jpeg') || ($file_type == 'image/pjpeg')) { // アップロード(移動) $result = move_uploaded_file($temp_name, $upload_name_l); if ($result) { // アップロードの成功 // アップロードされた画像情報を取り出す $image_size = getimagesize($upload_name_l); // アップロードされた画像の幅と高さを取り出す $width = $image_size[0]; $height = $image_size[1]; // 保存画像の幅と高さを決める $width_l = 480; $height_l = round($width_l*$height/$width); // サムネイル画像の幅と高さを決める $width_s = 60; $height_s = round($width_s*$height/$width); // アップロードされた画像を取り出す $image = imagecreatefromjpeg($upload_name_l); // 保存画像の大きさの画像を新規作成 $image_l = imagecreatetruecolor($width_l,$height_l); // アップロードされた画像から保存画像を作成 $result_l = imagecopyresampled( $image_l, $image, 0,0, 0,0, $width_l,$height_l, $width,$height); if ($result_l) { // 保存画像作成成功 // 保存画像の保存 if (imagejpeg($image_l,$upload_name_l)) { echo ' ->保存画像保存';                                      $add_name = $upload_name_l;                array_push($name_log, $add_name); } else { echo ' ->保存画像保存失敗'; } } else { // 保存画像作成失敗 echo ' ->保存画像作成失敗'; } // サムネイルの大きさの画像を新規作成 $image_s = imagecreatetruecolor($width_s,$height_s); // アップロードされた画像からサムネイル画像を作成 $result_s = imagecopyresampled( $image_s, $image, 0,0, 0,0, $width_s,$height_s, $width,$height); if ($result_s) { // サムネイル画像作成成功 // サムネイル画像の保存 if (imagejpeg($image_s,$upload_name_s)) { echo ' ->サムネイル画像保存'; } else { echo ' ->サムネイル画像保存失敗'; } } else { // サムネイル画像作成失敗 echo ' ->サムネイル画像作成失敗'; } // 画像の破棄 imagedestroy($image); imagedestroy($image_l); imagedestroy($image_s); } else { // アップロードの失敗 echo '■アップロード失敗'; } } else { // JPEG形式以外のファイルはアップロードしない echo '■JPEG形式の画像をアップロードしてください。'; } }     //ファイルへ保存 file_put_contents($name_file,$name_log); ?> </body> </html>

    • ベストアンサー
    • PHP
  • phpでのファイルアップロード

    ファイルのアップロードについてご質問があります。 宜しくお願いします。 基礎phpという本でファイルをアップロードするサンプルがあり、このスクリプトでアップロードされたファイルを格納する『upload』というディレクトリをサーバに作成し、スクリプトを実行して、実際にファイルがアップロードできているかffftpにて『upload』ディレクトリの中を見てみると、なにも表示されませんでした。しかしブラウザから http://myドメイン/upload/ファイル名 にアクセスすると表示されます。 ですのでアップロードはできているがファイルが見えないという状態になっております。また『upload』ディレクトリの削除などもできなくなってしまいます。 サーバの設定が関係しているのかとも思ったのですが、サーバの設定を変更することはできないので、プログラムがわで何とかできないでしょうか? 大変申し訳ありませんが宜しくお願いいたします。 以下がそのコードです。 【up.html】 <html> <head><title>File Uploader</title></head> <body> <form method="post" enctype="multipart/form-data" action="up.php"> <input type="file" name="upfile"> <input type="submit" value="upload"> </form> </body> </html> 【up.php】 <html> <head><title>File Uploader</title></head> <body> <p> file uploader </p> <?php $updir = "./upload/"; $filename = $_FILES['upfile']['name']; if (move_uploaded_file($_FILES['upfile']['tmp_name'], $updir.$filename) == FALSE){ print("Upload failed..."); print($_FILES['upfile']['error']); }else { print("<b>" . $filename . "</b> uploaded!"); } ?> </body> </html>

    • ベストアンサー
    • PHP
  • PHPで画像サイズの変更

    PHPで画像アップロード機能を作成しました。 アップロードされた画像をある一定の比率で縮小して統一しようと思うのですが、PHPでできるのでしょうか?このような機能を作成するときはアップロードされる画像のサイズを指定しておいたほうがいいのでしょうか? いろんな人がアップロードすることを想定しています。 教えて下さい。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • ホームページにphpを入れたのですが・・・

    この前ホームページにアンケートをつけるためにアンケートのサンプルプログラムをダウンロードしました。その中にはhtmlとphpと2つのファイルが入っていました説明には2つともアップロードすればいいと書いてあったのでアップロードしたのですが、アンケートフォームから送信すると Method Not Allowed The requested method POST is not allowed for the URL /h/u/k/huk/php1/sendmail.php. とエラーメッセージが出てきました。 サンプルはここでダウンロードしました。 http://php.eweb-design.com/1301_mail.html ダウンロードファイルは ダウンロード(Ver0.96),2004/09/21:Zip形式 です。 見てくださったら分かるかと思います。 初心者なのでよく分からないので初歩的なミスでも丁寧にご指導いただければありがたいです よろしくお願いします

    • ベストアンサー
    • PHP
  • 【PHP+ImageMagick】画像アップロード

    【PHP+ImageMagick】現在、PHP Version 5.1.6にて以下の事をしようとしています。 1画像のUPLOAD(move_uploaded_file関数) 2UPLOADした画像のサムネイル作成(ImageMagickのconvertコマンド) 「手順START」 ・00003.JPGをアップロード ・00003.JPGのサムネイル作成失敗。 ・サムネイル作成部のみを抽出したスクリプトにて00003.JPGに対してサムネイル作成を実行 ・サムネイル作成失敗 ・cp -p 00003.JPG 000033.JPG とし000033.JPGを作成 ・権限等を00003.JPGと同じ物とし修正。 ・サムネイル作成部のみを抽出したスクリプトにて000033.JPGに対してサムネイル作成を実行 ・サムネイル作成成功 「手順END」 convertコマンドにて標準出力に吐き出されたログを見ると、画像ファイルに対して「Permission denied」と出力されていました。 ちなみに、コマンドベースでのphp実行は問題なく処理されます。今回の現象はWebブラウザからのアクセス時のみに発生しています。 php.iniのセーフモードはOFFになっています。 この現象について、わかる方がいらっしゃいましたら教えて頂けないでしょうか?よろしくお願いします。

    • 締切済み
    • PHP
  • PHPのファイルアップロード・ダウンロードに関して

    PHPを用いて作成したいプログラムの内容は以下の通りです。 1. htmlフォームよりファイルをアップロード(テキストファイル) 2. アップロードされたファイルの中のデータに対して別のPHPプログラムを実行 3. 2の結果をhtmlにて表示、且つ結果ファイルのダウンロード です。 行き詰まっているのは、htmlから<input type="file">を用いて送信されたファイルはPHPでは$_FILESにそのファイルに関する情報が格納されると思いますが、別のPHPプログラムを実行する際にこのグローバル変数($_FILES)は使用できません。一度、move_uploaded_fileにてどこかのディレクトリに保存したファイルを、fopenなどで読み込んで実行させするしか方法はないでしょうか?すなわち、move_uploaded_fileなしでアップロードファイル内のデータを別のPHPプログラムで実行させる方法はないでしょうか? ダウンロードに関しても同様で、PHPプログラムの実行結果が納められた変数($XXXX)をダウンロードしたい場合、どこかのディレクトリに保存せずにこれをダウンロードさせる方法はないでしょうか? どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • phpのプログラミング

    phpの事について質問があります。 画像をアップロードしてデーターベースに画像のパスを入れるプログラミングに挑戦中なのですが、 うまくいかないので詳しい方アドバイスお願い致します 作っているプログラミングの流れは 1の画面で画像選択とコメントの入力 2の画面で画像の確認とコメントの確認 3の画面で『登録しました』の文言の表示とサーバへの書き込み (今回は3の画面では確認の為echo文で飛んでいるかどうかの確認のみ行っております) ちなみにアップロードはうまくいっており、uploadsというディレクトリーを作ってそこに画像をUPしております を考えているのですが、 2画面でinput typeのhiddenを使ってコメントと画像のパスを3の画面に飛ばそうと思っているのですが、 コメントは3の画面に飛んでいるのに、画像のパスが3の画面に飛んでないみたいです、画像のパスはinput typeのhidden で飛ばす事は出来ないのでしょうか? プログラミング以下のような感じです 2の画面 confirm.php <!DOCTYPE html> <html> <head> <meta charset=UTF-8" /> <title>確認画面</title> </head> <body> <h3>以下の内容で登録しますか?</h3> <?php $message=$_POST['message']; ?> <form action="entry.php" method="POST" enctype="multipart/form-data"> <input type="hidden" name="message" value="<?php echo $message; ?>"> <input type="hidden" name="upload_name" value="<?php echo $upload_name; ?>"> メッセージ <?php echo $message;?><br /> 画像 <?php $file_name = $_FILES['filename']['name']; $file_type = $_FILES['filename']['type']; $temp_name = $_FILES['filename']['tmp_name']; $dir ='uploads/'; $upload_name = $dir.$file_name; $result = move_uploaded_file($temp_name,$upload_name); ?> <br /> <?php if($result){ echo'■アップロード成功'; $image_size =getimagesize($upload_name); } else{ echo'■アップロード失敗'; } ?> <?php echo $upload_name;?> <input type="submit" value="登録する"> </form> </body> </html> 3の画面 entry.php <!DOCTYPE html"> <html> <head> <meta charset=UTF-8> <title>登録画面</title> </head> <body> <?php echo $_POST['message']; ?> <?php echo $_POST['upload_name']; ?> </body> </html>

    • ベストアンサー
    • PHP