下記のコードを実行すると、
Smarty error: unable to read resource: "template1.tpl"
というエラーが出てしまいます。
$smarty->template_dirで指定したディレクトリ名の中に
"template1.tpl"というファイルは配置してあります。
原因などわかればおしえていただけないでしょうか。
index.php
<?php
require_once("Smarty.class.php");
$smarty = new Smarty;
$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates_c/';
$smarty->config_dir = './configs/';
$smarty->cache_dir = './cache/';
$smarty->display("template1.tpl");
?>
【サーバ】
ロリポップです。
【その他】
index.phpをホームディレクトリ配下におくとエラーは消えます。
【ディレクトリ構成】
modules/index.php と templates/template1.tpl をがあり、
index.php から template1.tpl を読み込もうとしています。
・modules
→index.php
・templates
→template1.tpl
No.1
- 回答日時:
template_dirの設定を相対ではなく絶対パスにしてしまえばいいのではないでしょうか。
ロリポの絶対パス
/home/sites/lolipop.jp/users/ドメイン名-ユーザー
こんな感じらしいので、
/home/sites/lolipop.jp/users/ドメイン名-ユーザー/templates/
とかってしておけば良いんじゃないかと思います。
この回答への補足
ご回答どうもありがとうございます!
上記のようにさせていただいたのですが、やはり状況は変わらず
同じエラーが出力しました。
権限の問題かと思い、試しにtplを「777」の権限で行ってもやはり同様でした。
読み込み元のphpファイルは、必ずホームディレクトリの直下でないと
いけないなどルールがあるのでしょうか?
または、直下でない場合、何か記述などが変わってくるのでしょうか?
もしわかれば教えてください。
どうぞよろしくおねがいいたします。
No.2ベストアンサー
- 回答日時:
index.phpから見れば
$smarty->template_dir = '../templates/';
になるのでは?
フルパスの方が確実だとは思いますが。
define('BASE_DIR', dirname(dirname(__FILE__)) . '/');
$smarty->template_dir = BASE_DIR . 'templates/';
$smarty->compile_dir = BASE_DIR . 'templates_c/';
確認が遅くなりすみません。
上記の通り実行したら、うまくいきました!
ディレクトリの構成などについてもっと勉強しないといけないですね・・。
どうもありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) カラーミーのSmarty構文について 1 2022/10/09 13:55
- PHP カラーミーショップのSmartyでの文字列抜き出し 2 2022/05/06 11:51
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
- 工学 ちなみになぜv=(v・e1)e1+(v・e2)e2はe1やe2が、正規直交基底でないと成り立たないと 2 2022/12/22 17:22
- UNIX・Linux Linuxについて質問です。 以下のような設定をしたMakefileを作成するにはどう記述すればよい 1 2023/02/03 20:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
index.phpに入るには、どうすれ...
-
requireやinclude時の階層の書き方
-
onedrive にexcelファイルをア...
-
こちらはただの直列処理ですか?
-
ワードプレス、Contact Form 7...
-
拡張子php画像をjpg画像等に変...
-
PHPとCSVで簡易データベースな...
-
include先でのinclude元の変数...
-
リダイレクト元のURLの取得方法...
-
メールフォームのタイトルが文...
-
php エラー
-
PHPのif文でその処理を途中で抜...
-
VBでメールを送る時のSMT...
-
one drive のアップロード失敗...
-
別PHPファイルに変数を渡す
-
ワードプレスサイト PHP8.0.25...
-
パースエラーとは?
-
Image Magickの関数が使えない
-
文字化けで混乱中です...
-
phpでクラスのメソッドで同名の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
index.phpに入るには、どうすれ...
-
.htaccessファイルの修正がこれ...
-
PHPでグローバルナビゲーション...
-
CakePHPの表示エラーについて
-
深い階層のフォルダの作成や削...
-
特定のディレクトリだけ、phpを...
-
PHP Linux から Windowsへの移行
-
include_pathに関する質問
-
すべてのページのurlをindex.ph...
-
SSLに設置したらディレクトリパ...
-
zendのcontrollersについて
-
[PHP] 任意のDNSでIPアドレスを...
-
require_onceで読み込む場合、...
-
相対パスでrequireはできないの...
-
$_GET 取得できない
-
さくらにsmartyをセットアップする
-
php拡張子を無くす
-
ログインした状態の外部phpファ...
-
万国博覧会
-
フリーペーパーR25が置いて...
おすすめ情報