Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.05.2010, 21:22
Новичок на форуме
Отправить личное сообщение для KIVagant Посмотреть профиль Найти все сообщения от KIVagant
 
Регистрация: 22.04.2010
Сообщений: 7

Как передать картинку из javascript в php
Здравствуйте. Есть хитрая задача, может кто-нибудь подскажет решение.

На сайте отображаются различные картинки, адрес src которых не прямой, а что-то вида "index.php?img=243243". Сами изображения переключаются с помощью "встроенного в сайт" javascript.
Использую подключаемые javascript в браузере Опера (кстати, есть ли такое в Firefox?).

Мне нужно каким-то образом передать эту картинку в php на мой сервер (денвер) и получить от сервера ответ.

Я вижу два возможных алгоритма.
Первый:
- узнать физический путь на диске к загруженной картинке
- с помощью ajax вызвать php-скрипт и сообщить ему путь к картинке.
- php отправится по указанному пути и выполнит необходимые действия, после чего ответит javascript-у об успешности операции.

Второй алгоритм:
- подключаемый javascript после окончания загрузки страницы насильно вызывает обновление картинки и передает её по ajax (типа потока) в php
- php преобразовывает полученный поток в img, выполняет необходимые действия и отвечает javascript-у.

Почему такое извращение? - потому, что без авторизации на сайте картинку не получить, а делать симуляцию авторизации на php, перемещение по страницам и т.п. я не умею.


Помогите, пожалуйста, с решением такой задачи. В первом случае я не знаю, как получить физический адрес изображения на диске (если это вообще возможно). Во втором случае я не знаю, как передать "потоком" в php картинку, надо её для этого как-то конвертировать в текстовую строку и обратно.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 11.05.2010, 23:15
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Отправляете AJAX запрос на картинку (!), полученные данные кодируете и отправляете своему веб-серверу.

На сервере раскодировать и делать с бинарными данными все, что захочется.

Последний раз редактировалось B@rmaley.e><e, 11.05.2010 в 23:22.
Ответить с цитированием
  #3 (permalink)  
Старый 11.05.2010, 23:27
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Парсите капчу?

Используйте <canvas> и метод .drawImage(), чтобы скопировать изображение в <canvas>, а далее — метод .toDataURL().

Вы получите в переменной закодированную в base64 png'шку, которая является точной копией исходного изображения, и делайте с ней что хотите.
Ответить с цитированием
  #4 (permalink)  
Старый 12.05.2010, 11:54
Новичок на форуме
Отправить личное сообщение для KIVagant Посмотреть профиль Найти все сообщения от KIVagant
 
Регистрация: 22.04.2010
Сообщений: 7

subzey, все верно, капча. То есть её можно будет передать в php из полученной переменной в js, верно? Буду пробовать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как поместить javascript в php цикл do{} while() galap Общие вопросы Javascript 4 09.04.2010 14:57
Как передать массив данных на сервер DVVID Общие вопросы Javascript 7 08.04.2010 12:11
Как передать массив из PHP в js (AJAX) Александр Иванов Общие вопросы Javascript 7 10.09.2009 10:22
как php перменной присвоить значение переменной javascript? php_vasia Элементы интерфейса 4 04.05.2009 14:33