
<?php
// 空の画像を作成し、テキストを追加します
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// content type ヘッダを、ここでは image/jpeg と設定します
header('Content-type: image/jpeg');
// 画像を出力します
imagejpeg($im);
// メモリを開放します
imagedestroy($im);
?>
http://www.php.net/manual/ja/function.imagejpeg. …
を参照して(そのまま利用して)、画像を作成して表示させてみました。
すると、これはその通り、うまく画像が表示されました。
しかし、
<?php
// 空の画像を作成し、テキストを追加します
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// 【追加分】: 画像を保存する
imagejpeg($im, 'new.jpg');
// content type ヘッダを、ここでは image/jpeg と設定します
header('Content-type: image/jpeg');
// 画像を出力します
imagejpeg($im);
// メモリを開放します
imagedestroy($im);
?>
のように
imagejpeg($im, 'new.jpg');
を挿入して、その画像を保存しようとしているのですが、うまくいきません。(何も起こりません。)
ちなみに、保存するためのディレクトリのパーミッションはその親ディレクトリを含め、(7,7,7)です。
「new.jpg(相対パス)」を「/www/.../new.jpg」のように絶対パスを使ってやっても結果は同じでうまくいきませんでした。
どのようにすれば、新しく作成した画像を保存できるのでしょうか?
ちなみに、OSはLinux(Fedora10)です。もちろん、GDは先のテストで証明される通り、動作していると思います。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
当方の環境では問題なく動作(保存と表示)しました。
何かエラーは出ていないのでしょうか。エラーが表示されない(or残らない)設定になっているのであればそれを変更してみてください。
ご回答ありがとうございます。
次のようなエラーが出ます.
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'new.jpg' for writing: Permission denied in /var/.../index.php on line 15
書きました通り、当ディレクトリのパーミッションは(7,7,7)です。試験的に「/var/.../new.jpg」を作成して、パーミッションを(7,7,7)に設定してやってみましたが、
上記と同様のエラーが表示されました。
No.2
- 回答日時:
ANo.1です。
エラーの行を見る限り例示されているコードとは違うコードの実行結果のようなので不明な部分もありますが、書き込み権限がないというエラーであることは確かですね。
パーミッションの設定そのものや設定しているディレクトリ自体が正しいか確認するくらいでしょうか。
あとは、PHPの特定のバージョンにおいて、セーフモードの場合にimagejpeg()では一切ファイルを作成できないバグがあるようです。
この回答への補足
ちなみに、php.iniの一部をここに記します。
;
; Safe Mode
;
safe_mode = Off
; By default, Safe Mode does a UID compare check when
; opening files. If you want to relax this to a GID compare,
; then turn on safe_mode_gid.
safe_mode_gid = Off
; When safe_mode is on, UID/GID checks are bypassed when
; including files from this directory and its subdirectories.
; (directory must also be in include_path or full path must
; be used when including)
safe_mode_include_dir =
; When safe_mode is on, only executables located in the safe_mode_exec_dir
; will be allowed to be executed via the exec family of functions.
safe_mode_exec_dir =
; Setting certain environment variables may be a potential security breach.
; This directive contains a comma-delimited list of prefixes. In Safe Mode,
; the user may only alter environment variables whose names begin with the
; prefixes supplied here. By default, users will only be able to set
; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
;
; Note: If this directive is empty, PHP will let the user modify ANY
; environment variable!
safe_mode_allowed_env_vars = PHP_
; This directive contains a comma-delimited list of environment variables that
; the end user won't be able to change using putenv(). These variables will be
; protected even if safe_mode_allowed_env_vars is set to allow to change them.
safe_mode_protected_env_vars = LD_LIBRARY_PATH
たぶん、セーフモードにはなっていないと思います。
ご回答ありがとうございます。
お返事が遅れて失礼致します。
前にも書きました通り、パーミッションは(7,7,7)です。
今度はPHPのセーフモードについて考えてみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像の張りかたについて
-
iアプリ:スクラッチパッド
-
imagemagickトリミングで余白無...
-
ビットマップ画像を読み込むプ...
-
PHPで画像サイズの変更
-
設定した日時になったら更新
-
画像に文字を入れて出力
-
openCVの超解像処理
-
PHPでグラフを書く
-
phpで画像を縮小して表示するこ...
-
サムネイルを2つ生成する方法
-
画像ファイルサイズの上限について
-
画像をひとつにするには・・・?
-
どの画像がクリックされたかフ...
-
画像表示システムをつくりたい...
-
php単体では表示されるが他のペ...
-
PHPを使ってHTMLで画像表示させ...
-
iphoneで虫眼鏡の作り方
-
アップロードしたGIF画像を縮小
-
Illustratorで文字と画像を流し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
iphoneで虫眼鏡の作り方
-
Illustratorで文字と画像を流し...
-
pictureboxに表示した画像のフ...
-
透過PNGが透過されない!!
-
GDI+を使ったビット数とDPIの扱い
-
VBAでJPGサイズ変更
-
PHPで吐き出した画像にリンクを...
-
ListViewコントロールでサムネ...
-
拡張子php画像をjpg画像等に変...
-
ビットマップ画像を読み込むプ...
-
C#とJavaで、MP3タグの画像を表...
-
SQLiteに画像を格納したい
-
手作業で埋め込んだ、UserForm1...
-
【PHP】サーバー上で TIFFをJPE...
-
BLOBデーターの画像の表示方法...
-
jar化すると画像が消える
-
「imagejpeg」(GD)で作成した...
-
PythonのTkinter詳しい方へ。画...
-
php,mysqlにて画像パス保存/表...
おすすめ情報