将php代码插入jquery中图像的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>

在我看来,您正试图让客户端浏览器执行PHP。这对你不起作用。我不确定您是否完全清楚服务器和客户端之间的分离,以及在哪里会发生什么。

这里有一个简单的模型,你可以用来思考事情发生的地方:

  1. 用户将URL放入浏览器并点击回车键
  2. 浏览器向服务器发送请求
  3. 服务器接收请求并尝试提供请求的资源
  4. 在这个阶段,如果文件是PHP文件,则执行任何PHP指令。在完成所有PHP之后,最终的结果是一个HTML文件,可能带有一些javascript
  5. 服务器将此HTML文件发送回浏览器
  6. 浏览器加载HTML文件,并执行任何javascript,这些javascript可以在客户端操作HTML

那么,这会给我们留下什么呢?您正试图获取服务器上存在的图像文件,调整其大小,并将其显示给最终用户。据推测,"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必须是您试图访问的图像的实际文件名。相反,如果你试图让一些用户操作触发对图像的访问,请为你试图完成的任务提供更多的上下文,这样可以给出更好的答案。

问题是您将html设置为具有ID,但jquery使用选择器作为类。

所以把它从:

$(".intabdiv img")...

$("#intabdiv img")...

为什么不使用类似jcrop的东西?http://deepliquid.com/projects/Jcrop/demos.php