Вставка php-кода в src изображения в jquery - PullRequest
0 голосов
/ 09 марта 2012

Понятия не имею, как это сделать.Я хочу вставить код php в источник изображения через jquery .. но это не работает.Вот мой код и помощь будет принята с благодарностью!

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>

Ответы [ 3 ]

1 голос
/ 09 марта 2012

Мне кажется, вы пытаетесь заставить клиентский браузер выполнять PHP. Это не сработает для вас. Я не уверен, что у вас есть совершенно четкое представление о разделении между сервером и клиентом и о том, что и где происходит.

Вот простая модель, которую вы можете использовать, чтобы подумать о том, где что-то происходит:

  1. Пользователь вводит URL в браузер и нажимает Enter
  2. Браузер отправляет запрос на сервер
  3. Сервер получает запрос и пытается предоставить запрошенный ресурс
  4. На этом этапе, если файл является файлом PHP, выполняются любые инструкции PHP. Конечным результатом этого, после того, как весь PHP завершен, является файл HTML, возможно, с некоторым количеством JavaScript.
  5. Сервер отправляет этот HTML-файл обратно в браузер.
  6. Браузер загружает файл HTML и выполняет любой javascript, который может манипулировать HTML на стороне клиента.

Так, где это оставляет нас? Вы пытаетесь взять файл изображения, который существует на сервере, изменить его размер и показать его конечному пользователю. Предположительно, функция «изменить размер» - это та, которую вы определили где-то в своем 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 должно быть реальным именем файла изображения, к которому вы пытаетесь получить доступ. Если вместо этого вы пытаетесь заставить какое-либо действие пользователя инициировать доступ к изображению, предоставьте больше контекста для того, что вы пытаетесь выполнить, и можно получить лучший ответ.

1 голос
/ 09 марта 2012

Проблема в том, что вы задали html как имеющий идентификатор, но jquery использует селектор как класс.

Так что измените его с:

$(".intabdiv img")...

К

$("#intabdiv img")...
0 голосов
/ 09 марта 2012

Почему бы не использовать что-то вроде jcrop?http://deepliquid.com/projects/Jcrop/demos.php

...