• ベストアンサー

PHP+ImageMagick

exec("/usr/bin/convert -geometry 30x30 /usr/local/apache/htdocs/a/img/test.gif /usr/local/apache/htdocs/a/img/test2.jpg"); 上記プログラムをphp内に書く事によりimgフォルダ内にtest2.jpgが生成されるという認識は間違いでしょうか?エラーも出ませんが、新規画像も作成されません。

  • PHP
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
回答No.1

書式は間違っていませんが、 作成先に、実行ユーザーが書き込める権限はありますか? 一度一般ユーザーでログインした環境で、カレントディレクトリに対して行ってみてください。 実施済みならご容赦。

関連するQ&A

  • phpからImageMagickの使い方

    phpからexecでImageMagickを使いたいと思っています。ためしにjpgからgifに変換できればと思っています。 exec("/usr/bin/convert IMG_0.jpg a.gif",$output); var_dump($output); という感じでテストしています。 ファイルのパスが間違ってるのかとも思うんですが、うまくいきません。 画像ファイルのパスはexecを実行するphpファイルからの相対パスでよいのでしょうか? -versionは成功しているようです。 exec("/usr/bin/convert -version",$output); array(3) { [0]=> string(68) "Version: ImageMagick 6.4.3 2009-04-10 Q16 http://www.imagemagick.org" [1]=> string(57) "Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC" [2]=> string(0) "" }

    • ベストアンサー
    • PHP
  • htmlで画像が表示されない

    CGIを勉強し始めた者です。 手始めにCGIを使わずに画像表示をさせたところ早速つまづきました。 アドバイスお願いします。 vine linux 6.3 に apache2.4をソースからインストールしました。 /usr/local/apache2/htdocs に以下の cgi-test.html を置きました。 <html> <head> <meta http-equiv="Content-Type:" content="text/html; charset=UTF-8"> <title>CGI TEST</title> </head> <body> <h3>CGI TEST</h3> <img src="../cgi-bin/a0.gif">&nbsp;<img src="./a1.gif"> </body> </html> パーミッションは 755 root root cgi-test.html /usr/local/apache2/cgi-bin のパーミッションも 755 root root です。 ここに 数字0~9のgif画像を置いています。パーミッションは 644 root root 表示されないので/usr/local/apache2/htdocsにa0.gif, a1.gif を置いてみました。 パーミッションは 同じく 644 root root です。 数字0は表示されませんが、1は表示されます。 なぜ0が表示されないのかお教えください。

    • 締切済み
    • CGI
  • imagemagickのサイズ指定について

    アップした画像を小さくして保存するようにしたいのですが、 system("/usr/bin/convert -size 50x50 'test.gif' 'test_s.gif'") system("/usr/bin/convert -size 50% 'test.gif' 'test_s.gif'") 上記は同じ意味になるのでしょうか? また、小さくする際にこちらの指定のサイズ(高さ:30幅:30)にして、保存する場合はどのようにすればよろしいですか? よろしくお願いします。

    • 締切済み
    • PHP
  • 空メールでPHPを起動

    CentOS 4.5、Apache 2.0.53、PHP 5.2.4+qmailで空メールのシステムを開発中ですが、Could_not_open_input_fileのエラーが出てPHPのプログラムが起動されません。 システムとしてはから空メール宛先用のユーザー321を追加し、/home/321/の.qmailを | /usr/local/bin/php -q /usr/local/apache2/htdocs_test/htdocs/mail_action2.php としてパーミションを600、所有者を321、stickyビットを立てています。ディレクトリー321も321所有で権限は700です。 呼ばれるmail_action2.phpはテスト用に #!/usr/local/bin/php -q <?php $fp = @fopen("/tmp/test.txt", "w"); $size = fwrite($fp, "xxx"); fclose($fp); ?> としています。所有者は321、権限は604、これもstickyビットを立てました。ディレクトリhtdocsは開発者所有、705の権限です。 これで321に空メールを送ると何も返答がなく、maillog上に greylist[31334]: IP nnn.nnn.nnn.nnn OK - accepting ... qmail: 1xx6.8xx4 delivery 1949: deferral: Could_not_open_input_file:_/usr/local/apache2/htdocs_test/htdocs/mail_action2.php_/ qmail: 1xx6.8xx5 status: local 0/10 remote 0/20 qmail: 1xx3.8xx0 starting delivery 1950: msg 1xx9 to local 321@abc.com qmail: 1xx3.8xx9 status: local 1/10 remote 0/20 qmail: 1xx3.8xx9 delivery 1950: deferral: Could_not_open_input_file:_/usr/local/apache2/htdocs_test/htdocs/mail_action2.php_/ qmail: 1xx3.8xx9 status: local 0/10 remote 0/20 と出ます。(文字数の関係からかなり省略しています。) mail_action2.phpは実行されず、/tmp/test.txtは作成されません。 ひとつ気になるのがSPAM対策としてgreylistを使っているのですが、多分このせいでCould_not_open_input_fileが2回出ていることです。これが影響しているのかもしれません。 どなたか他の方法でも結構ですからお知恵をお貸しください。

    • ベストアンサー
    • PHP
  • imagemagickのコマンド

    こんにちは。 画像のサイズ変更をしたいと思い、imagemagickをインストールしました。環境はubuntuです。 サイズ変更の場合はconvertコマンドのオプションの-geometryや-resizeを使うとできるとのことで試したのですが、 $ convert -geometry '320×480' test.jpg test_geo.jpg とすると convert: invalid argument for option `-geometry': 320×480 @ error/convert.c/ConvertImageCommand/1592. のようなエラーが出てしまいます。resizeの場合も同じです。 どうすればサイズ変更ができるのでしょうか。 もしくはimagemagick以外で画像のサイズを縮小、拡大できるお勧めのフリーソフトなりがありましたら教えてください。よろしくお願いします。

  • php exec関数

    exec関数を使いたいのですが 調べたら例が出てきたのですが $return_data = exec("/usr/local/bin/php ./top.php param1 = 1 m2 = 2"); exec()の中をどう修正していいかわかりません usrtとかユーザ名ですか? localとはlocalhostとかでいいですか? bin/phpってなんですか ぜんぜんわかりません すいません

    • 締切済み
    • PHP
  • cgi(perl)でパラメータが渡せない

    以下のプログラムでnum=9が伝わらないので、ミスをご指摘ください。 グラフィカルなアクセスカウンタを表示させようとしていますが うまくいかないのでテキストモードでデバッグしています。 [ /usr/local/apache2/htdocs/gif-view.html ] <html> <head> <meta http-equiv="Content-type:" content="text/html; charset=UTF-8"> <title>gif-view</title> </head> <body> <iframe src="/cgi-bin/gif-test.cgi?num=9"></iframe> <!-- <img src="/cgi-bin/gif-test.cgi?0" width=50 height=50> --> </body> </html> [ /usr/local/apache2/cgi-bin/gif-view.cgi ] permission は 755 にしています。 #!/usr/bin/perl print "Content-Type: text/plain;\n\n"; print "gif-test.cgi\n"; $prm0 = @ARGV[0]; if($prm0 = "") { print "Param is exist\n"; } else { print "Param is empty\n"; 実行結果として gif-test.cgi Param is empty となります。 httpd.conf で Script Alias /cgi-bin/ "/usr/local/apache2/cgi-bin/" を有効にしています。

    • ベストアンサー
    • Perl
  • apacheでphp、exec、system関数でのsudo実行

    FreeBSD 7.0-STABLE でphpスクリプトを作っています。 apacheは2.0.63、phpはphp-4.4.9です。 apacheの設定 ユーザ、グループは、apache phpは safe_mode = offです。 sudoは apache ALL=(ALL) ALL と設定しています。 apacheを手動で起動 /usr/local/apache2/bin/apachectl start して、下記を実行すると <?PHP $cmd = "echo 'password' | sudo -S ls /root"; exec($cmd, $output); print_r($output); ?> 結果、 Array ( [0] => .cshrc [1] => .history [2] => .k5login [3] => .login [4] => .profile [5] => .ssh ) とうまく実行できるのですが apacheを自動起動した場合、 以下の方法をそれぞれ試しましたが # cp /usr/local/apache2/bin/apachectl /usr/local/etc/rc.d/apache.sh # chmod 0755 /usr/local/etc/rc.d/apache.sh より起動 /etc/rc.local # Start Apache /usr/local/apache2/bin/apachectl start より起動 crontab -e @reboot /usr/local/apache2/bin/apachectl start より起動 いずれも 結果は Array ( ) とうまくいきません。 どなたか原因のわかる方、教えていただけないでしょうか? 宜しくお願いいたします。

  • 同サーバー内のファイルの存在確認ができません

    ※説明の為相対パスで書かせていただきます。 ↓本ファイルの設置ディレクトリ /usr/local/apache/htdocs/admin/check.php $img="/home/monky/www/monky.jp/img/1.jpg"; $chk=(file_exists($img))?TRUE:FALSE; ↑とするとエラーがでました。 このPHPとIMGファイルは以下のように、 /usr/local/apache/htdocs/admin/check.php /home/monky/www/monky.jp/img/1.jpg 階層が全然違いますが、同サーバー内です。 fopenやfile_get_contentsなどURLで指定すれば存在確認ができたのですが、動作が遅すぎなので、なんとかfile_existsで行いたいです。 この場合はどうすればうまくいくのでしょうか??

    • ベストアンサー
    • PHP
  • php 画像表示(imgタグ)

    PHPに関しての質問させて頂きます。 XAMPPにて環境を作り、htdocs内にtestフォルダを 生成し、その中に1.jpgと言う画像があります。 DB上では1だけを保持しており、ブラウザに 1jpg画像を表示させたいのですが、うまく いきません…。 ★$item['IMG']には1が保持しています。 print "<img src='./test" . $item['IMG'] ."img'></td>"; お分かりになる方よろしくお願い致します。

    • ベストアンサー
    • PHP