画像のアップに関して

このQ&Aのポイント
  • 画像のアップロード方法に関してエラーが発生しています。御指導お願い致します。
  • $uploadと$new_picのパスの違いにより、表示がうまくいかない問題が発生しています。どちらを使用すべきでしょうか?御指導お願い致します。
  • アップロードした画像のサイズ変更に失敗しています。原因を教えてください。
回答を見る
  • ベストアンサー

画像のアップに関して

画像のアップロードしたいのですが、 下記の記述方法でアップしようとすると エラーメッセージで 「Warning: imagejpeg() [function.imagejpeg]: Unable to open '../members/img/38.jpg' 」 と表示されてうまく行きません。初歩的なミスかもしれませんが 御指導お願い致します。 なお下記の  $upload = "../members/img/";  $new_pic = "../members/img/"; を  $upload = "./img/";  $new_pic = "./img/"; とうまく表示されるのですが、どうしてかわかりません。 御指導お願い致します。 if ( $_SERVER['REQUEST_METHOD'] == "POST" ) { $target = $_FILES['MyUploadFile']['name']; $target = strtoupper($target); $ext = array("JPG","JPEG"); $file_ok = false; foreach( $ext as $Value ) { $target2 = basename( $target, $Value ); if ( strlen( $target2 . $Value ) == strlen( $target ) ) { $file_ok = true; break; } } if ( $file_ok ) { if ( is_uploaded_file( $_FILES['MyUploadFile']['tmp_name'] ) ) { $upload = "../members/img/"; $upload .= $_FILES['MyUploadFile']['name']; $new_pic = "../members/img/"; $new_pic .= $job_id .".jpg"; # テンポラリディレクトリにある実際のファイル $file = $_FILES['MyUploadFile']['tmp_name']; # ファイルの属性等を取得 $target = getimagesize( $file ); # 現在のサイズ $width = $target[0]; $height = $target[1]; # 新しいサイズ $width_new = 250; $height_new = (int)( ($height/$width)*$width_new ); # JPEG の場合 if ( $target[2] == IMAGETYPE_JPEG ) { # 元のファイルのハンドル $jpeg = imagecreatefromjpeg ( $file ); # 新しいイメージ $jpeg_new = imagecreatetruecolor( $width_new, $height_new ); # サイズ変更して新しいイメージへ転送 $ret = imagecopyresampled( $jpeg_new, $jpeg, 0, 0, 0, 0, $width_new, $height_new, $width, $height ); if ( !$ret ) { print "サイズ変更に失敗しました\n"; return; } # JPEG ファイルとして、クオリティ 100 で出力 $ret = imagejpeg ( $jpeg_new, $new_pic, 100); if ( !$ret ) { print "ファイル作成に失敗しました\n"; return; } print "アップロードが完了しました\n"; print "<IMG src='$new_pic'>"; } } else { print "アップロードに失敗しました\n"; } } }

  • PHP
  • 回答数2
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

members/job/job_pic.php + ../members/img/ = members/members/img/ を探してることになっていますよ。

nicolemen
質問者

お礼

ありがとうござました。 HTML構文の勘違いでしたね。 修正したら、うまくできました。 ありがとうございます。 助かりました。

その他の回答 (1)

  • TA-HT81S
  • ベストアンサー率39% (72/184)
回答No.1

../members/img/ というディレクトリは存在しますか? このPHPプログラムからそのディレクトリに、書込権限はありますか?

nicolemen
質問者

補足

はい。存在します。 それと書き込み権限はあります。 members/job/job_pic.php というようになっております。

関連するQ&A

  • PHP GD 画像が縮小できない

    宜しくお願いします。 ※ローカル環境です。 (WinXP PHP5 Smarty PEAR MySQL ※GDはインストされています。) 下記のコードで、サーバーにもともと上げてある画像(jpeg)を縮小して、 それをブラウザに表示させようと思います。 ですが、縮小されずに、元の画像サイズのまま表示されてしまいます。 おかしな点をご指摘下さいませ。 また、(1)で、 jpegファイルを取り込むコードがありますが、これは、 もし画像がGIFであったりPNGの場合を顧慮するなら、 取り込む際にそれぞれを判定するのが基本でしょうか? もし、今回のようにサバー元の画像をリサイズするのであれば、拡張子もわかっていますので、 jpegファイルだけのことを考えればいいですが、 たとえば、任意のアップロードされたファイルを扱う場合は、上記3種類を判定すして処理すべきですよね? 以上、2点を回答下さいませ。 // -- (1) // 画像を読み込む。 $file_path = "http://www元画像.com/img/aa.jpg"; $image = ImageCreateFromJPEG($file_path); //JPEGファイルを読み込む /*********** $image = ImageCreateFromGIF($file_path); //GIFファイルを読み込む $image = ImageCreateFromPNG($file_path); //PNGファイルを読み込む ************/ // -- (2) // 画像のサイズを取得。 $width = ImageSX($image); //横幅(ピクセル) $height = ImageSY($image); //縦幅(ピクセル) // -- (3) // 縮小した画像のサイズを決める。 $new_width = 100; $rate = $new_width/$width; //圧縮比 $new_height = $rate*$height; // -- (4) // 空の画像を作成する。 $new_image = ImageCreateTrueColor($new_width, $new_height); // -- (5) // サンプリングしなおす  ImageCopyResampled($new_image,$image,0,0,0,0,$new_width,$new_height,$width,$height); // -- (6) // ブラウザに出力する場合。 ImageJPEG($image); //ImageJPEG($image,'simpletext.jpg'); //ImageGIF($image); //環境によっては使えない //ImagePNG($image); // -- (7) // メモリを解放する。 imagedestroy ($new_image); imagedestroy ($image);

    • ベストアンサー
    • PHP
  • 画像アップロード時の複数パターンのリサイズ

    皆さんのお知恵をお貸し下さい。 現在PHPでアップロードした画像を処理していますが、 これを複数パターンのサイズ変更が出来なくて悩んでいます。 1つのファイルで 【width 280px height 430px】 【width 240px height 320px】 【width 170px height 200】 【width 60px height 60px 】 お手数ですがご教授して頂けると幸いです。 ※汚いコードで申し訳ございません。 PHP:5.2.17  サーバー:さくらインターネット up.php ------------ <?php if($_POST['id'] === ""){ echo 'ID Error'; exit(); } if($_POST['name'] === ""){ echo 'Name Error'; exit(); } if($id = $_POST['id']){ preg_match("/^[0-9]+$/",$id) or die('ID Error'); } //写真アップロード処理    for ($i = 0; $i < 4; $i++) { if ( $_FILES["upfile"]["size"][$i] === 0 ) { $img_filename[$i] = "no_image.jpg"; } else { $file_nm = $_FILES['upfile']['name'][$i]; $filename = $_FILES['upfile']['name'][$i]; $extension = pathinfo($file_nm, PATHINFO_EXTENSION); $tmpFilename = $_FILES['upfile']['tmp_name'][$i]; $imgDir = 'img'; $thumbnailDir = 'thumbnail'; list($width,$height)=getimagesize($_FILES['upfile']['tmp_name'][$i]); //ファイル名 $img_filename[$i] = $_POST['cast_id']."_$i". "." . $extension; # ファイルを移動 $destFilename = $imgDir . "/" . $img_filename[$i]; move_uploaded_file($tmpFilename, $destFilename) or die("Failed to upload $filename"); #画像比率 $new_width = 100; $rate = $new_width / $width; $new_height = $rate * $height; # 次にファイルをリサイズしてサムネイル用のディレクトリに保存する $thumbnailFilename = $thumbnailDir . "/" . $img_filename[$i]; exec("convert -resize {$new_width}x{$new_height}! $destFilename $thumbnailFilename", $result, $status); ($status == 0) or die ("Failed to create thumbnail image"); } $photo[$i] = $img_filename[$i]; } ?> よろしくお願い致します。

    • 締切済み
    • PHP
  • アップした画像を表示

    よろしくお願いします。 現在 <form action="" name="pic" method="post" enctype="multipart/form-data"> <input type="file" name="header_pic" value="" onchange="uproad_header()"> でonchangeで変更があるとsubmitを実行して画像を入れ替えています。 サーバー上のファイルは変わっています。 表示は <img src="pic1.jpg" width="58" height="58"> です サーバー上のファイルは変わっているので 更新ボタン(F5)を押すと画像は入れ替わるのですが 更新ボタンを押さずにアップされた時点で画像が入れ替わって表示する方法はないでしょうか? PHP5でやっています。 以上説明が下手ですみませんがよろしくお願いします。

  • 画像のupができません。

    お世話になっております。 PHPでCMSを組んでいるのですが、画像のUPロードがうまくいきません。 DBにはファイル名が登録されるのですが、画像ファイルが指定フォルダに入りません。 詳しい方、ご教授願います。 抜粋部分です。 Functionファイル内 function image($image, $folder, $options=array()){ if($image){ $option=getOptions($options); $img='<img src="'.$folder.$image.'"'.$option.'/>'; return $img; }else{ return "&nbsp;"; } } function uploadFile($data, $confirm=false, $options=array()){ if($confirm){ $file=hidden($data["name"],$data["value"]); }else{ $option=getOptions($options); $file='<input type="file" name="'.$data["name"].'"'.$option.'/>'; } return $file; } ソースコード部分 foreach ($imageList as $key => $title) { if(!empty($_FILES[$key]["tmp_name"])){ if($err == UPLOAD_ERR_OK){ if(isAllowedExtension($_FILES[$key]["name"],$allowedExtensions)) { if(isset($id)){ if($oldData[$key]!=$_FILES[$key]["name"] && file_exists(DIR_IMAGES.$_FILES[$key]["name"])){ $error=$_FILES[$key]["name"]."ファイルが存在します"; }else{ $new_img[$key]=$_FILES[$key]["name"]; move_uploaded_file($_FILES[$key]["tmp_name"],DIR_IMAGES."tmp.".$_FILES[$key]["name"]); } }else{ if(file_exists(DIR_IMAGES.$_FILES[$key]["name"])){ $error=$_FILES[$key]["name"]."ファイルが存在します"; }else{ $new_img[$key]=$_FILES[$key]["name"]; move_uploaded_file($_FILES[$key]["tmp_name"],DIR_IMAGES."tmp.".$_FILES[$key]["name"]); } } }else{ $error=$title.":画像ファイルを選択して下さい"; } }else{ $error=$title.":アップロードエラー。<br />"; } } } 登録部分 <td>&nbsp;<?php if(!$mode){?> <?php $file_data=array('name'=>"image_search", 'value'=>$new_img["image_search"]); echo uploadFile($file_data,$mode,array("size"=>'37'));?> <?php } //確認画面で新しい画像かどうか判断 if($new_img["image_search"]){ $image_search=$new_img["image_search"]; $rest = substr($image_search, 0, 4); if($rest=="tmp."){ $image_search=substr($image_search, 4, strlen($image_search)); } $image_file="tmp.".$image_search; echo hidden("new_img[image_search]", $image_search); }elseif($data['image_search']){ $image_search=$data["image_search"]; $image_file=$data["image_search"]; } echo hidden("data[image_search]", $image_search); if($image_search){ if(!$mode){?> <div class='clear'></div> <div class='title1 left'></div><?php }?> <?php } if($image_search){ if(!$mode){?> <div class='clear'></div> <div class='title1 left'></div><?php }?> <div class='img_name left'><?php echo $image_search;?></div> <div class='clear'></div> <div class='title1 left'></div> <div class='left'><?php echo image($image_file,DIR_IMAGES, array('border'=>"0",'style'=>"width: 100px"))?></div> <?php }?> </td> よろしくお願い致します。

    • 締切済み
    • PHP
  • jqueryで、後から追加した画像もドラッグ&ドロップできるようにした

    jqueryで、後から追加した画像もドラッグ&ドロップできるようにしたい 以下のようにして、画像をドラッグ&ドロップできるようにしています そこに、新たに画像をアップロードして、その画像もドラッグできるようにするところで詰まってしまいました アップロードする時に画面遷移を起こしたくなかったので、インラインフレームを使っています upload.phpでアップロードされた画像を取得して、divタグのクラス名を指定したりしてappendChildで親フレームに挿入 しかし、画像が表示されはするのですがドラッグしようとしても何も起こらない状態です Firebugでも見てみると、元の画像は <div class="dragArea ui-draggable"><img src="./img0.jpg" width="100" height="100"></div> となっていますが、アップロードした画像(新規追加した要素)は、 <div id="adddragfile"><div class="dragArea"><img src="././tmp/newimg.jpg" width="100" height="100"></div></div> となっていて、ドラッグ属性が付いていないように思えます よろしくお願いします /* include.php */ //ドラッグ可能な画像 <div class='dragArea'><img src='./img0.jpg' width='100' height='100'></div> //ここにタグを追加していく <div id='adddragfile'></div> //ドロップ先となる画像 <div class='dropArea'><img src='./img1.jpg' width='300' height='300'></div> <div class='dropArea'><img src='./img2.jpg' width='300' height='300'></div> //ファイルのアップロード <iframe title='upload_frame' name="upload_frame" style="display:none"></iframe> <form action="./upload.php" method="post" enctype="multipart/form-data" target="upload_frame"> <input type="hidden" name="max_file_size" value="1000000"> <input type="file" name="upload_image"> <input type="submit" value="画像アップロード"> </form> /* jqueryファイル */ $(function(){ $(".dragArea").draggable({ cursor:'move', helper:'clone' }); $(".dropArea").droppable({ drop:function(e,ui){ alert("ドロップされました"); } }); }); /* upload.php */ <?php $upload_dir = './tmp/'; $filename = $_FILES['upload_image']['name']; move_uploaded_file($_FILES['upload_image']['tmp_name'], $upload_dir.$filename); ?> <script type="text/javasscript"> //親フレームのオブジェクトを取得 var container = parent.document.getElementById('adddragfile'); //要素を作成していく div = parent.document.createElement('div'); div.className = "dragArea"; image = parent.document.createElement('img'); image.src = './<?php print($upload_dir.$filename);?>'; image.width = "100"; image.height = "100"; container.appendChild(div); div.appendChild(image); </script>

  • 画像の複数登録についての質問です。

    画像を複数登録したいんですが500エラーが出てしまいます。 htmlから <input type="file" size="50" name="img1_1"> <input type="file" size="50" name="img1_2"> として、cgiにsubmitします。 cgi側でファイル名をデータ番号に変えて保存します。 例) aaaaa.jpg ↓ 1234.jpg ---cgi--- if ($param{'img1_1->name'} ne ""){ if ($param{'img1_1->name'} =~ /(\.gif|\.jpg|\.jpeg|\.pig|\.bmp)$/ ) { $extension = ($param{'img1_1->name'} =~ m/\.([^\.][0-9a-zA-Z]*)$/); $extension = $1; $filename1_1 = $upload_dir.$param{'data_num2'}."_1".$extension; if (open(OUT, ">$filename1_1")) { binmode(OUT); print OUT $param{'img1_1'}; close(OUT); } } } if ($param{'img1_2->name'} ne ""){ if ($param{'img1_2->name'} =~ /(\.gif|\.jpg|\.jpeg|\.pig|\.bmp)$/ ) { $extension = ($param{'img1_2->name'} =~ m/\.([^\.][0-9a-zA-Z]*)$/); $extension = $1; $filename1_2 = $upload_dir.$param{'data_num2'}."_2".$extension; if (open(OUT, ">$filename1_2")) { binmode(OUT); print OUT $param{'img1_2'}; close(OUT); } } } ------------ <input type="file" size="50" name="img1_1"> か <input type="file" size="50" name="img1_2"> のどちらか一方に画像ファイルを指定すれば大丈夫なんですが 両方画像を入れてしますと500エラーになってしまいます。 どのように修正すればいいんでしょうか?

    • ベストアンサー
    • Perl
  • [PHP]GDを利用した画像リサイズについて

    [PHP]GDを利用した画像リサイズについて GDを利用した画像リサイズ処理を行うクラスを作ったのですが、 以下のようなエラー(文字化け)が出てしまい画像出力することができません。 有識者の方、どうか知恵をお貸しください。宜しくお願い致します。 ????JFIF??;CREATOR: gd-jpeg v1.0 (using IJG JPEG v70), quality = 75 ??C    $.' ",#(7),01444'9=82<.342??C  2!!22222222222222222222222222222222222222222222222222??II"?? ???}!1AQa"q2???#B??R??$3br? %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz??????????????????????????????????????????????????????????????????????????? ???w!1AQaq"2?B???? #3R?br? -------- 以下省略 ---------- ◆作成したPHPファイル ・test.php <?php require_once 'Image.php'; $path = './400x300.jpg'; $r = new Image($path, 75); $r->resize(75); ?> ・Images.php <?php class Image{ var $new_width; var $path; function Image($path, $new_width){ @header("Content-type: image/jpeg"); $this->path = $path; $this->new_width = $new_width; } function resize(){ global $new_width; global $path; // 画像パス $image = imagecreatefromjpeg($this->path); // 画像のサイズを取得 $width = 150; $height = 150; $rate = $this->new_width / $width; $new_height = $rate * $height; $thumb = imagecreatetruecolor($this->new_width, $new_height); imagecopyresized($thumb, $image, 0, 0, 0, 0, $this->new_width, $new_height, $width, $height); // imagecopyresampled($thumb, $image_path, 0, 0, 0, 0, $this->new_width, $new_height, $width, $height); imagejpeg($thumb, null, 75); imagedestroy($image); } } ?> ◆環境と状況 ・サーバ:WindowsXP(XAMPPを利用してローカル環境を構築) ・phpinfo()にて、GD Support=enabled、JPEG Support=enabledを確認 ・ステップ実行(デバック)にてimagejpeg($thumb, null, 75);まで問題なく実行可能。  ※imagejpeg($thumb, null, 75);実行後上記文字列が出力される。 ・コメントアウト個所のimagecopyresampledでも動作結果は同じ。 ・参考にしたサイト  http://goodjob.boy.jp/chirashinoura/id/79.html 恐れ入りますが、ご回答お願い致します。

    • ベストアンサー
    • 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初心者です 簡単な画像アップロードを付けたいと思っています それでアップだけはなんとかできたのですが、もう少し機能を付けたいです 付けたい機能は 1.拡張子を調べて限定したい。gif、jpg、pngの三つを許可したい 2.画像の横と縦の幅が指定した幅より大きければ、指定した幅まで縦横比維持で縮小 100*100 3.もう一つのディレクトリに、小さいサムネイルを作りたい。大きさは32*32です 4.拡張子はそのままにして画像の名前をリネームしたいです よろしくお願いします(_ _ <?php $img_name = $_FILES["upfile"]["name"]; $img_size = $_FILES["upfile"]["size"]; $img_type = $_FILES["upfile"]["type"]; if($_REQUEST["up"] != ""){ if($img_tmp != "" and $img_size <= 50000){ $img_message = "名前は: $img_name <br>サイズは: $img_size <br>MIMEタイプは: $img_type"; if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { if (move_uploaded_file($_FILES["upfile"]["tmp_name"], "files/" . $_FILES["upfile"]["name"])) { chmod("files/" . $_FILES["upfile"]["name"], 0604); print $_FILES["upfile"]["name"] . "をアップロードしました。"; } else { print "ファイルをアップロードできません。"; } } else { print "ファイルが選択されていません。"; } }else{ $size_error = "サイズが大きすぎます"; } } ?> <html> <head> <title>画像アップロード</title> </head> <body> <form name="form" action="" method="POST" ENCTYPE="MULTIPART/FORM-DATA"> <input name="upfile" type="file" size="40"> <input name="up" type="submit" value="アップロード"><hr> </form> <?php print($size_error); ?><?php print($img_message); ?> </body> </html>

    • ベストアンサー
    • PHP
  • PHP ファイルアップロードの縮小方法(比率)

    初めまして。PHP の初心者で勉強中なのですが、 ファイルのアップロードの際に確認として 画像を指定範囲に表示したいと考えています。 参考サイトで http://usualcms.net/contents/index/page/49/middle/201106/ で縮小する事ができ、 http://usualcms.net/contents/index/page/31/middle/201106/category_id/ で比率を変えずに縮小する関数の定義 とあるのですが、この二つを組み合わせて試行錯誤したのですが 行き詰まってしまいました。 <?php function getImgSize ($path, $new_width, $new_height) {        $size = array();        list ($getWidth,$getHeight) = getimagesize ($path);        $w = $new_height / $getHeight * $getWidth;        $h = $new_width / $getWidth * $getHeight;        //幅と高さの両方が指定より小さい場合        if ($getWidth <= $new_width && $getHeight <= $new_height) {                $size['new_width'] = (int)$getWidth;                $size['new_height'] = (int)$getHeight;        //幅が指定より大きい場合        } else if ($w >= $new_width && $h < $new_height) {                $size['new_width'] = (int)$new_width;                $size['new_height'] = (int)$h;        //高さが指定より大きい場合        } else if ($w < $new_width && $h >= $new_height) {                $size['new_width'] = (int)$w;                $size['new_height'] = (int)$new_height;        }        return $size; } if (isset($_POST['index_submit'])) {               $type = $_FILES['upfile1']['type'];               if ($type == 'image/jpeg' || $type == 'image/gif'                                                         || $type == 'image/png') {                       $ext = str_replace('image/', '', $_FILES['upfile1']['type']);                       $path = 'image.'.$ext;             move_uploaded_file($_FILES['upfile1']['tmp_name'], $path);            $new_width = 200;            $new_height = 200;             $new_image = imagecreatetruecolor ($new_width, $new_height);            if ($type == 'image/jpeg') {                            $image = imagecreatefromjpeg ($path);            } else if ($type == 'image/gif') {                            $image = imagecreatefromgif ($path);             } else if ($type == 'image/png') {                            $image = imagecreatefrompng ($path);             }             imagecopyresampled ($new_image,$image,                    0,0,0,0,$new_width,$new_height,                     $getWidth,$getHeight            );             imagejpeg ($new_image, $path, 100);             echo "<img src='".$path."' />";          } else {            var_dump ('error');  } } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <form enctype="multipart/form-data" method="post"           action="<?php echo $_SERVER['PHP_SELF']; ?>" > <input type="file" name="upfile1" /><br /> <input type="submit" name="index_submit" /> </form> </body> </html> 定義したgetImgSize関数がうまく結びついていないのは自分でも分かるのですが、 getImgSize関数を機能させる方法がうまく分からず悩んでいます。 お分かりになる方からすればご指摘だらけかと思いますが、 お力を貸していただければ大変うれしく思います。 よろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう