簡體   English   中英

在jquery中將php代碼插入到src圖像中

[英]Inserting php code into src of image in jquery

我不知道該怎么做。 我想通過jquery將PHP代碼插入圖像源..但它無法正常工作。 這是我的代碼和幫助將不勝感激!

JQUERY:

var mainId = $(this).attr('id');
$("#intabdiv img").attr('src', '<?=resize("../php/admin/portfolio/before/'+mainId+'",$settings)?>' );

HTML:

<div id="intabdiv">
<?php $settings = array('w'=>450,'h'=>450,'crop'=>true); ?>
              <img src="" border="0" class="pic" />
          </div>
</div>

問題是您將html設置為具有ID,但jquery將選擇器用作類。

所以改變它:

$(".intabdiv img")...

$("#intabdiv img")...

在我看來,你正試圖讓客戶端瀏覽器執行PHP。 那不適合你。 我不確定你是否完全清楚服務器和客戶端之間的分離,以及在哪里發生的事情。

這是一個簡單的模型,您可以用它來思考事情的發生地點:

  1. 用戶將URL放入瀏覽器並點擊進入
  2. 瀏覽器向服務器發送請求
  3. 服務器接收請求並嘗試提供所請求的資源
  4. 在此階段,如果文件是PHP文件,則執行任何PHP指令。 在完成所有PHP之后,最終結果是HTML文件,可能還有一些javascript。
  5. 服務器將此HTML文件發送回瀏覽器。
  6. 瀏覽器加載HTML文件,並執行任何可以在客戶端操作HTML的javascript。

那么,這讓我們離開了什么地方? 您正在嘗試獲取服務器上存在的映像文件,調整其大小並將其顯示給最終用戶。 據推測,“resize”函數是您在PHP代碼中定義的函數。 我會假設您只需要執行一次,並在頁面加載時讓用戶顯示它。

在這種情況下,您需要做的是更像下面的內容(所有在同一個文件中):

<?php
$settings = array('w'=>450,'h'=>450,'crop'=>true);
$imgsrc = resize("../php/admin/portfolio/before/imageid.jpg",$settings);
?>
<div id="intabdiv">
    <img src="<?= $imgsrc; ?>" border="0" class="pic" />
</div>

...不需要javascript。 顯然,imageid.jpg必須是您嘗試訪問的圖像的實際文件名。 相反,如果您試圖讓某些用戶操作觸發對圖像的訪問,請為您要完成的內容提供更多上下文,並給出更好的答案。

為什么不使用像jcrop這樣的東西? http://deepliquid.com/projects/Jcrop/demos.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM