2010-09-13 2 views
0

Я ищу сервер сервера php, который загружает изображение в div на стороне клиента.JQuery vs PHP - загрузить изображение в div

первый выстрел: ajax.php

if((isset($_POST['id'])) && ($_POST['id']=="loadphoto") && (ctype_digit($_POST['idp']))) { 
    $query=mysql_query("SELECT articleid, photoid FROM articles_photos WHERE id='".$_POST['idp']."'", $mydb); 
    if(mysql_num_rows($query)!=0){ 
     while($row=mysql_fetch_array($query, MYSQL_NUM)) { 
      $path="./articles/photos/".$row[0]."/".$row[1]; 
     } 

     echo $path; 
    } 
} 

myjs.js

function loadPhoto(mexid) { 
$.ajax({ 
    type: 'POST', 
    cache: false, 
    url: './auth/ajax.php', 
    data: 'idp='+escape(mexid)+'&id=loadphoto', 
    success: function(msg) { 
     $('.articleviewphoto1').find("img").each(function(){ 
      $(this).removeClass().addClass('photoarts'); 
     }); 

     $('#'+mexid).removeClass().addClass('photoartsb'); 
     $('#visualizator').html('<img src="'+msg+'" class="photoartb" />'); 
    } 
}); 
return false; 

}

TNX для помогает

+1

Вы имеете в виду фактический код двоичного изображения? Зачем? У этого так много недостатков и проблем совместимости. Почему бы просто не обновить свойство 'src'' ''? –

+0

Как говорит Пекка, кажется, гораздо лучше иметь ajax.php эхо изображения src ... или тега привязки, который содержит тег изображения с src изображения. –

+0

Умм да, решение Пекки выглядит блестящим. Я могу изменить свойство src, но мне нужно загрузить img, когда страница будет загружена клиенту. Как это можно сделать? Загрузите некоторый div с изображением и поместите их с помощью css display: none; имущество? – markzzz

ответ

0

Вы хотите разместить список возможных изображений в файле PHP и загружать различные изображения на основе идентификатора вы отправляете? Если да, то вы можете установить:

$Img = $_POST['idp']; 

И использовать switch заявление передать обратно путь к файлу изображения:

switch ($Img){ 
    case (some_value): 
     echo 'images/some_file.jpg'; 
     break; 

    case (another_value): 
     echo 'images/another_file.jpg'; 
     break; 

} 

Затем поместите путь к файлу в теге и загрузить его в $('#visualizator').html();

Я нахожусь на пути хотя бы того, чего вы хотите? Если это так, я могу немного ответить на этот вопрос.

+0

да! вот что я должен делать. Я отредактировал сообщение и поставлю первый пример. что ты думаешь о? tnx – markzzz

+0

Ну, есть несколько опций и параметров, которые я не знаю, потому что это нужно, но теперь можно ожидать, что весь проект будет выглядеть ... но похоже, что все будет хорошо. – d2burke

+0

У меня проблема с этим. У меня есть изображения как большие пальцы в div (размер max 100x100px через правило css) и большая фотография в другом div (размер 700x700px trhough еще одно правило css). проблема в том, что я загружаю img (например, размером 3-4 мб, 2048x2112), но с 5-6 фотографиями с этим размером слишком медленно для браузера. Страница очень медленная. Есть решение? Возможно, измените размер изображения на стороне сервера, когда я загружу их? – markzzz

0

Я предполагаю, что изображение уже существует где-то и не создается на лету. В скрипте PHP вы можете получить доступ к переменным с $_POST['idp'] и $_POST['id']. Сделайте необходимую обработку, а затем просто введите echo. Переменной msg в javascript будет все echo 'd скриптом PHP. Затем, вы можете просто сделать это:

$('#visualizator').html('<img src="' + msg + '" />');
Смежные вопросы