お世話になります。PHP初心者でわからないことだらけなんですが、教えてください。
画像をアップロード後、サイズを変更するスクリプトを作成したのですが、JEG画像サイズが大きくなるとimagecreatefromjpegの点でエラーになってしまいます。詳しくは「ページを表示できません。」と出てきます。ある程度までのサイズは問題なく実行されるのですが、やはりメモリ制限によるエラーなのでしょうか?
スクリプトは下記のとおりです。
************************************************
$gdimg_in = imagecreatefromjpeg($file_path);
$ix = imagesx($gdimg_in);
$iy = imagesy($gdimg_in);
/*ファイルのサイズを設定*/
if ($ix > $iy) {/*************横長の場合*/
$ox = 500;
$oy = ($ox * $iy)/$ix;
} else {/*********************縦長の場合*/
$oy = 375;
$ox = ($oy * $ix)/$iy;
}
$gdimg_out = imagecreatetruecolor($ox,$oy);
imagecopyresized($gdimg_out,$gdimg_in,0,0,0,0,$ox,$oy,$ix,$iy);
imagejpeg($gdimg_out,$file_path);
imagedestroy($gdimg_in);
imagedestroy($gdimg_out);
$img_size = getimagesize($file_path);
************************************************何か解決方法はありますか?
分かる方、是非宜しくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ピント外れかもしれませんが。
。。ファイルはちゃんとアップロードされていますか?
ファイルアップロードの制限はphp.iniで
upload_max_filesize
post_max_size
で制限されています。
この回答への補足
ご返答ありがとうございます。
ファイルはちゃんとアップロードされていました。
フォルダに保存されてあり、そのファイルを縮小したいのですが、
縮小する前の処理(imagecreatefromjpeg)で
エラーが起きてるみたいです。
メモリー制限によるエラーだと、レンタルサーバーなのでmemory_limitを設定できません。
別の方法で、画像縮小する良い方法はありますか?
No.2
- 回答日時:
> ファイルはちゃんとアップロードされていました。
一つきり分けが出来ました。ソースはしっかりあると言う事ですね。
> ページを表示できません。
とでてきているのに、
> 縮小する前の処理(imagecreatefromjpeg)で
> エラーが起きてるみたいです。
と言う根拠は何でしょう?
http://php.s3.to/man/function.imagecreatefromjpe …
のPHPマニュアルにあるように空の画像を表示する方法もありますが、とりあえず
$gdimg_in = @imagecreatefromjpeg($file_path);
if (!$gdimg_in) { /* オープンに失敗した場合 */
echo "imagecreatefromjpeg で {$file_path}のオープンに失敗";
exit;
}
としてエラー表示されるか確認する事も良いかと。
あと、エラーが起きるとすれば
imagecopyresizedやimagejpegあたりですから、その辺もエラーを出力するようにしてみれば原因が究明しやすいです。
この回答への補足
またまた、有難うございます。
>>縮小する前の処理(imagecreatefromjpeg)で
>>エラーが起きてるみたいです。
>と言う根拠は何でしょう?
これは、imagecreatefromjpegの直前直後に
print "aaa";
exit;
を記述して試した際に直前だと"aaa"が表示されたんですけど、直後だと"ページを表示できません"と表示されます。
ちなみに
$gdimg_in = @imagecreatefromjpeg($file_path);
if (!$gdimg_in) { /* オープンに失敗した場合 */
echo "imagecreatefromjpeg で {$file_path}のオープンに失敗";
exit;
}
で試した際も"ページを表示できません"でした。
やはり、imagecreatefromjpegでのメモリ制限エラーなのでしょうか?
もしそうだとしたら、他に画像をリサイズする方法ってありますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- その他(プログラミング・Web制作) pythonのエラーについて 2 2022/08/17 17:17
- Ruby パイソンエラーについて 1 2022/12/24 14:07
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パースエラーとは?
-
PHPでネットワークドライブのop...
-
フォントの色を変えるには?
-
phpでクラスのメソッドで同名の...
-
トランザクションが原因?DBに...
-
php pear mdb2に質問です。
-
phpでPEAR::DBを使っているので...
-
PHP8を使うと、大量のWarningが...
-
ローカルでは正常に動くのにサ...
-
クラスの中でincludeするとき、...
-
fgetcsv_regについてのご質問
-
正規表現での最後尾のバックス...
-
awsにApacheとPHPを入れて、何...
-
PHPのHttpRequestモジュールに...
-
centOSにcakePHPを入れた際のエ...
-
Call to undefined method RDBM...
-
error_reporting(0);にも関わら...
-
日本語をGETで渡す場合UR...
-
ワードプレスサイト PHP8.0.25...
-
preg_replace() で、 urlencode()
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォントの色を変えるには?
-
PHP8を使うと、大量のWarningが...
-
awsにApacheとPHPを入れて、何...
-
phpでPEAR::DBを使っているので...
-
ワードプレスサイト PHP8.0.25...
-
パースエラーとは?
-
phpでクラスのメソッドで同名の...
-
PHPで、エラーがない場合のみ画...
-
トランザクションが原因?DBに...
-
「@$変数」の「@の意味は?」
-
PHPでfatal errorが出ても無視...
-
PHPで特定のURLにジャンプす...
-
正規表現での最後尾のバックス...
-
PHPでネットワークドライブのop...
-
bindValueエラー
-
error_reporting(0);にも関わら...
-
これは例外処理でしょうか?
-
ある条件に当てはまったときに...
-
php5.6でsimplexml_load_string...
-
PHPでSMTPを使ってメール送信で...
おすすめ情報