亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 php 文件中包含圖像、css 和 javascript 等靜態資源

如何在 php 文件中包含圖像、css 和 javascript 等靜態資源

PHP
偶然的你 2024-01-19 15:11:00
一個非常重要的細節是,我創建的 asset 函數返回靜態 asset 的完整路徑,而不是 php 文件位置的相對路徑我做了什么:public static function asset($url){        $file_path = __DIR__.'/../../../resources/assets/'.$url;        $file_path = str_replace("\\","/",$file_path);        return $file_path;    }在我的 index.php 中,其中包含 html 文件:<img width="500px" alt="<?php echo asset('images/image1.jpg');?>" src="<?php asset('images/image1.jpg');?>"/>它為我提供了 alt-property 中文件的正確完整 URL,但沒有顯示圖像。它也不適用于 css 和 javascript資產目錄是"__DIR__.'/../../../resources/assets/'.$url"; $url 是用戶給出的參數。這是 html 頁面上返回的文件路徑:c:/xampp/htdocs/project/app/Utilities/View/../../../resources/assets/images/image1.jpg返回的內容是否有效用作我的index.php 文件中的圖像源???
查看完整描述

2 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

目前您在 src 中沒有輸出。您需要回顯或打印文件路徑:

它應該顯示(注意回聲):

<img src="<?php echo asset('images/image1.jpg');?>"/>

這也是一個完整的文件路徑,可能與協議相關。因此可能會被縫合到您的域名上。例如 http://example.com/path/from/file/system/root/to/assets/images/image1.jpg。如果您包含該file://協議,則在某些瀏覽器上在您自己的站點上進行本地開發時,它可能會起作用,但由于原始策略的原因,可能無法起作用。它肯定無法在公共網絡服務器上運行。

例如/var/www/example.com/assets/image.png是一個文件路徑,如果文檔根目錄是/var/www/example.com我們可以用作/assets/image.png網絡路徑。

我建議將所有資產與文檔或項目根目錄相關。

您可以在項目引導程序中使用一個簡單的常量來代替類似的內容:

<?php define('ASSET_ROOT', '/assets'); ?>

那么你的 src 就變成了:

<img src="<?= ASSET_ROOT . '/images/image1.jpg'; ?>"/>

(這里使用短回聲<?=代替<?php echo。)

這給了你一些靈活性。您稍后可以將其替換為以下內容:

<?php define('ASSET_ROOT', '//cdn.example.com/assets'); ?>

您當前的資產路徑也與包含您的函數的腳本相關。如果你移動它,你就必須重寫你的函數。該常量的開銷較小。

擁有相對于固定根的資產,僅沿著樹向下移動,要簡單得多,也不需要考慮。


查看完整回答
反對 回復 2024-01-19
?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

asset 函數的問題是DIR返回本地文件路徑,我應該返回的是服務器 url。因此,我替換了這一行

"__DIR__.'/../../../resources/assets/'.$url";

http://server_host/resources/assets/".$url

就我而言是

http://localhost/project/resources/assets/".$url

并返回該行并且它有效。


查看完整回答
反對 回復 2024-01-19
  • 2 回答
  • 0 關注
  • 160 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號