• ベストアンサー

cakephp1.2で画像が出力できない!

お世話になります。cakephp1.2で解決できないことがあります。 それは画像の出力です。 app/webroot/img配下にtest.jpgがある場合、 どのように表記したらビューで出力できるでしょうか? <?php echo $html->image('test.jpg') ; ?> や絶対パス、cake.power.pngなどの出力テスト をいろいろ試しましたが、どうしても解決できません>< どうかみなさま宜しくお願い致します。 暫くプログラマの方と連携がとれないので、 こちらに質問させて頂きました。。。

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

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

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

画像の出力であれば、自分ならばhelperを使わないと思います。 TOPが ttp://www.hoge.com/ ならば普通に<img src='/img/test.jpg'>で表示出来ませんか? 他の、cake.power.pngなどの画像が表示されていれば その画像のパスを見れば分かると思います。

yoroshikumail
質問者

補足

aruaruaru1さまご回答ありがとうございます^^ しかしながら、上記の方法を試しましたが、 取得することはできませんでした>< 呼び出す際のチェックなどのパラメータが 必要なのでしょうか? cakephpとやらに心折れそうです。。。↓↓

関連するQ&A

  • CakePHP のディレクトリの構成について

    現在 CakePHP を勉強しています。 最初から壁にぶち当たってしまいました。 参考にしているサイトの内容は以下のようになっているのですが apps/app1 と www/app1 の関係がよくわかりません。 シロート的なイメージとして、CakePHP では apps/app1 で色々と作成したものが(自動的に)www/app1 に複写される。 そしてブラウザからのアクセスは www/app1 になる???? そんなイメージなのですが、その辺を含めて勘違いしていると思います。 この2つのディレクトリの意味と用途?を教えてもらえないでしょうか? +/home/example ・・・ ホームディレクトリ   |   +cake ・・・ cake ディレクトリ   |   +apps ・・・ CakePHPで作成するアプリケーション用ディレクトリ   | |   | +app1 ・・・ CakePHPで作成するアプリ1のappディレクトリ   | | |   | | +config, docs, libs, scriptsディレクトリとファイル   | |   | +app2 ・・・ CakePHPで作成するアプリ2のappディレクトリ   |   |   |   +config, docs, libs, scriptsディレクトリとファイル   |   +www ・・・ ウェブで公開されるディレクトリ(DocumentRoot)     |     +app1 ・・・ CakePHPで作成するアプリ1 の webroot     |     +app2 ・・・ CakePHPで作成するアプリ2 の webroot     |     +other ・・・ CakePHP以外のアプリを使う場合のディレクトリ

    • ベストアンサー
    • PHP
  • CakePHPのコントローラの作成

    PHP初心者です。 CakePHPをインストールし試しにTestControlerを作成したのですが、ページが開きません。 PageNotFoundになります。 考えられる原因が分かれば教えて下さい。 【やったこと】 ・ [CakePHP root]\app\Controller に TestController.php を作成。 <?php App::uses('AppController', 'Controller'); class TestController extends AppController { } ・ URLにアクセス http://[CakePHP root]/Test ⇒ Not Found http://[CakePHP root]/test ⇒ Not Found http://[CakePHP root]/app/webroot/index.php?url=test ⇒ CakePHPのindex.phpが表示される。 http://[CakePHP root]/app/webroot/index.php?url=Test ⇒CakePHPのindex.phpが表示される。 以下のサイトを参考にしました。mod_rewriteが動いていない可能性がある ということなので、URL直接指定もしてみましたがダメでした。 http://codezine.jp/article/detail/768?p=2 よろしくお願いします。

    • ベストアンサー
    • PHP
  • さくらインターネットにCakePHPをインストール

    さくらインターネットにCakePHPをインストールしようとしたのですが、どうやっても画面が開かず、ネットでもさんざん調べたのですが解決できなかったので質問いたします。 まずは開発中のサイトを公開しようとサーバーにアップロードしたのですが、400 Forbiddenや403 Bad Request画面がが出てしまい先に進めませんでした。app/webrootのindexに直接アクセスすると画面は真っ白な状態になります。 そこで、アクティブで使っていないドメインがあったのでそちらに何も手を加えていないまっさらなCakePHPをインストールしてみました。ダウンロードして解凍しただけのものですので、CakePHPのマニュアルで言えば「3.3.1 開発(Development)」と同じ状況だと思います。 ここで同じように、 http://www.example.com/cake_1_3/ にアクセスすると、400 Bad Requestが出てしまいました。 また http://www.example.com/ にアクセスすると、403 Forbiddenが出てしまいます。 さらに http://www.example.com/cake_1_3/app/webroot/index にアクセスしてみたところ、今度は真っ白な画面ではなく500 Internal Server Errorが出てしまいました。 .htaccessを見直してみたのですが、ほかの人と見比べてもとくに違いはありませんし、何が間違っているのかもはや見当もつきません。もし、何か手がかりになる情報をご存じの方がいらしたらご教示いただけますでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Cakephp AppControllerについて

    CakePHPにて、 AppControllerクラスに処理を記述しようと思い、 app/app_controller.php を設置したのですが、 app/app_controller.php がどうしても呼び出されません。 色々調べてるのですが、どうしても原因が分かりません。 原因等分かる方がおりましたら教えて頂けますでしょうか? ---------------------- ■cakephpのバージョンは1.3です。 ■app/app_controller.phpの中身は↓です。 class AppController extends Controller { function __construct() { parent::__construct(); } function beforeFilter() { echo "test"; ←これが呼ばれない。 } } ----------------------

    • ベストアンサー
    • PHP
  • cakephpでのダウンロード機能の実装について

    cakephpで画像のダウンロード機能を実装しています。 webroot/imgに画像は入っています。 controllerで public function download($filename = null){ $this->autoRender = false; $this->response->file('img/' . $filename); $this->response->download($filname); } とし、 viewで <?php echo $this->Html->link('ダウンロード', array('controller' => 'images','action' => 'download', $image['Model']['filename'])); ?> このようにリンクしています。 ファイル名が英語の画像は問題なくダウンロードできるのですが、ファイル名が日本語の画像がダウンロードできません。 The requested file img/日本語ファイル名.jpg was not found or not readable Error: The requested address '/illusts/image/%~.jpg' was not found on this server. リンクをクリックするとこのように表示されます。 webroot/imgにはちゃんと画像は入っているのですが・・・。 どのようにしたら、日本語名のファイルもダウンロードできるようになるのでしょうか。 どなたかご教授ください。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • CekePHPでfile_exists関数を使う

    CakePHP Ver1.3.6で開発をしています。 アクションの中で、画像の存在判定にfile_exists関数を使ったのですが、 2バイトのファイル名のファイルの場合、存在するファイルがfalseになって しまいます。 対象のファイルが存在するときに、 if (file_exists('img/漢字.jpg')) echo 'あります'; else echo 'ありません'; if (file_exists('img/filename.jpg')) echo 'あります'; else echo 'ありません'; このとき、前者は’ありません’、後者は’あります’と表示されます。 app/webrootフォルダにtest.phpを作り、その中で同じ判定をすると、 両方とも’あります’と表示されます。 なぜアクションの中に記述したときのみ、2バイトファイル名を正しく 判定できないのでしょうか?

    • ベストアンサー
    • PHP
  • 画像出力で困ってます!

    CSVデータから、 01,02,03という部分を抜き出して、 010203.jpgという変数にしたいのですが、 $csvData[0][0] = $a; $csvData[0][1] = $b; $csvData[0][2] = $c; として、 $img = "$a" . "$b" . "$c" . ".jpg";//CSVから取った値 //$img = "010203.jpg"; //***2 if (img != "") { header("Content-type: image/jpeg"); readfile("img/$img"); break; } echo <<<EOM <img src="{$myself}?act=put"> EOM; としても、 画像が出力されません。 ちなみに、//***2の先頭の//を取ってやると、 画像が出力されます。 //CSVから取った値 の部分をechoすると、 直接変数にした//***2の値と全く同じ形で表示されます。 なぜ、CSVから拾った値では画像表示されないのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • CakePHPの表示エラーについて

    --------------------------- CakePHPバージョン:1.3.14. PHPバージョン:5.3.3 Apacheバージョン:2.2.3 --------------------------- CakePHPを始めたばかりです。 インストールを完了し、トップページでのhello world!の表示は出来ました。 (トップページだけは特例のようですね) http://www.example.com/test/hello という形でhello world!を表示させたいと思い下記のようにファイルを作りUPしましたが、エラーが表示されてしまいました。 何を変更すればうまくファイルが表示されるのかを教えていただければと思います。 test_controller.php ---------------------------------------------------------- class TestController extends AppController { public $name = "Test"; public $uses = null; public $autoRender = true; function index(){ } function hello(){ $this->set("content", "Hello World!"); } } ---------------------------------------------------------- http://www.example.com/test/hello (エラーメッセージ) ------------------------------------------------------------------------------- Warning: include(cake/bootstrap.php): failed to open stream: No such file or directory in /var/www/html/example.com/test.php on line 76 Warning: include(): Failed opening 'cake/bootstrap.php' for inclusion (include_path='/var/www:/var/www/html/:.:/php/includes:/usr/share/pear') in /var/www/html/example.com/test.php on line 76 Fatal error: CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your /cake core directory and your /vendors root directory. in /var/www/html/example.com/test.php on line 77 ------------------------------------------------------------------------------- bootstrap.phpというファイル名が出てきているので、bootstrap.phpを見てみましたが何が間違っているのかはわかりません。 include_pathも出てきているので、cakephpのパスを通しておく必要があるのでしょうか? bootstrap.php ------------------------------------------------------------- if (!defined('PHP5')) { define('PHP5', (PHP_VERSION >= 5)); } if (!defined('E_DEPRECATED')) { define('E_DEPRECATED', 8192); } error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT); require CORE_PATH . 'cake' . DS . 'basics.php'; $TIME_START = getMicrotime(); require CORE_PATH . 'cake' . DS . 'config' . DS . 'paths.php'; require LIBS . 'object.php'; require LIBS . 'inflector.php'; require LIBS . 'configure.php'; require LIBS . 'set.php'; require LIBS . 'cache.php'; Configure::getInstance(); require CAKE . 'dispatcher.php'; ------------------------------------------------------------- (全体の設定状況など) .htaccess httpd.conf あたりの設定が間違っているのかと思い、ネットで情報を調べていろいろ変更したりしてみましたがダメでした。 あと一つ気になる点としては、公開ディレクトリ以外をUPしているディレクトリ名をcakeにしてしまっているところです。(cakeというディレクトリ名はダメとかあるのでしょうか?) ディレクトリの構成と設定の内容を下記に記載します。 [/var/cake]プログラムファイル /var/cake/app /var/cake/plugins /var/cake/vendors /var/cake/.htaccess /var/cake/index.php 公開ディレクトリ(ルート) css files img js .htaccess css.php index.php ############################################################## .htaccessの設定 ############################################################## 3か所ほど設定すべきところがあるようなので下記のように設定しました。 /var/cake/.htaccess ------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /cake RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> ------------------------------------------------- /var/cake/app ------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /cake/app  RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] </IfModule> ------------------------------------------------- 公開ディレクトリの.htaccessの設定 ------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /  RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$ RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule> -------------------------------------------------

    • ベストアンサー
    • PHP
  • webroot以外の画像の表示

    CakePHP始めたばかりです。 会員登録画面のようなものを作っています。 会員情報を入力し、確認ボタンを押すと確認画面に遷移します。 その確認画面で、入力画面で指定した画像ファイルを表示したいのですが、 webroot/imgではURL直打ちされると見えてしまうので、 webroot以外に保存しました。 アップロード画像の保存まではうまくいったのですが、 $html->image('/system/image/', . $this->data['User']['image']) としても画像が表示されません。 $this->data['User']['image']にはabc.jpgなどと入っています。 IE上で画像が×になっているところのプロパティをみると、 画像のパスは合っているようです。 試しにwebroot配下に置くバージョンを作ってみたら表示されました。 webroot以外に配置した画像を読み込むにはどうしたら良いのでしょうか。 CakeでなくてもPHPでいいので、教えてください。

    • ベストアンサー
    • PHP
  • cakePHP導入 XREA+について

    同じタイトルの質問から、検索して辿り着いたURL http://massat.jp/2007/01/08/110 を参考にXrea+ (有料版)の設定をしています。 しかし、動いてなさげです。 ディレクトリツリー: root / この直下に、cakephpをインストールしました。 次に、 mv -r root/cakephp/app/webroot/* root/public_html/dev.hoge.com/. でファイルを移動。 移動先のdev.hoge.com/index.phpを、 if (!defined('ROOT')) { define('ROOT', DS.'cakephp'); } /** * The actual directory name for the "app". * */ if (!defined('APP_DIR')) { define('APP_DIR', 'app'); } /** * The absolute path to the "cake" directory, WITHOUT a trailing DS. * */ if (!defined('CAKE_CORE_INCLUDE_PATH')) { define('CAKE_CORE_INCLUDE_PATH', ROOT); } と、編集しました。 これでいい筈なので、一緒にパッケージれていたtest.phpも、同じ内容で編集しました。 test.phpを実行させると、次のエラーが出ます。 Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /virtual/taokato/public_html/dev.bit-station.com/test.php on line 27 Warning: include(cake/bootstrap.php) [function.include]: failed to open stream: No such file or directory in /virtual/taokato/public_html/dev.bit-station.com/test.php on line 84 Warning: include() [function.include]: Failed opening 'cake/bootstrap.php' for inclusion (include_path='/cakephp:/cakephp/app/:.:/usr/local/lib/php') in /virtual/taokato/public_html/dev.bit-station.com/test.php on line 84 Fatal error: CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your /cake core directory and your /vendors root directory. in /virtual/taokato/public_html/dev.bit-station.com/test.php on line 85 これは、設定ミスをしているのでしょうか? 解説通りにしたはずなんですけど・・・。 参考にしたURL http://oshiete1.goo.ne.jp/qa5421358.html http://www.wakatta-blog.com/cakephpxrea.html http://www.cakephp.jp/doc/ch03s04.html#id4797748 http://massat.jp/2007/01/08/110 ご教示のほど、よろしくお願いします。

    • 締切済み
    • PHP

専門家に質問してみよう