Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Эмулятор php на javascript, Прошу помощи в разъяснении 
:(
    Опции темы
Zmiuko
  Дата 15.3.2009, 06:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



В сети откопал "клад" - http://phpjs.org/ 

Можно скачать как полностью файлом, плюс есть упакованная версия.

Судя по описанию это js - функции в полном соответствии с PHP. 

Если кто-нить мало-мальски понимает, как эту библиотеку запускать (вроде js-скрипт подключается, у меня не работает) , может из-за невнимательности не понял.

Прошу, покажите пример работы хотя бы одной функции из данного пакета.

Лично меня очень заинтересовала функция function file_get_contents()

Код

function file_get_contents( url ) {
    // Read the entire file into a string  
    // 
    // version: 812.316
    // discuss at: http://phpjs.org/functions/file_get_contents
    // +   original by: Legaev Andrey
    // +      input by: Jani Hartikainen
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // %        note 1: This function uses XmlHttpRequest and cannot retrieve resource from different domain.
    // %        note 1: Synchronous so may lock up browser, mainly here for study purposes. 
    // %        note 1: To avoid browser blocking issues's consider using jQuery's: $('#divId').load('http://url') instead.
    // *     example 1: file_get_contents('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm');
    // *     returns 1: '123'
    var req = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
    if (!req) throw new Error('XMLHttpRequest not supported');
    
    req.open("GET", url, false);
    req.send(null);
    
    return req.responseText;
}


подскажите как правильно все сделать, чтобы она работала?
PM MAIL WWW ICQ Skype Jabber   Вверх
Zmiuko
Дата 15.3.2009, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Все форумы и блоги уже обыскался в поисках примера работы.  smile 
PM MAIL WWW ICQ Skype Jabber   Вверх
Zmiuko
Дата 15.3.2009, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Подключил Prototype.js, затем взял модуль http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js, библиотеку  shCore.js и shBrushJScript.js... естественно и сам php.js...

Внутри <body></body>  вызвал:

Код

file_get_contents('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm');


, и все равно нифига не канает. Помогите, кто разбирается в javascript.

Добавлено через 48 секунд
Забыл сказать: любой урл не пашет!  smile 
PM MAIL WWW ICQ Skype Jabber   Вверх
ohuel
Дата 15.3.2009, 09:47 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 15.3.2009

Репутация: нет
Всего: нет



описание прочитай внимательнее

This function uses XmlHttpRequest and cannot retrieve resource from different domain


PM MAIL   Вверх
Zmiuko
Дата 15.3.2009, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Сделал таким образом:


Код

<head>
 <script type="text/javascript" src="php.js"></script>
</head>
...


, вызвал функцию следующим образом:

Код

...
$b = file_get_contents('http://localhost/1.php');
document.write($b)


Скрипт 1.php содержал "<?php echo "test";?>"? после обработки функцией выместил в браузер "test".

Но при указании иного адреса, либо внешнего "http://ya.ru" функция результат выводить отказалась, возможно ли решение данной проблемы?

Очень важно.
PM MAIL WWW ICQ Skype Jabber   Вверх
ohuel
Дата 15.3.2009, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 15.3.2009

Репутация: нет
Всего: нет



This function uses XmlHttpRequest and cannot retrieve resource from different domain

http://translate.google.com/translate_t?hl=ru#

Эта функция использует XMLHttpRequest и не может извлекать ресурсов из различных (других) доменов
PM MAIL   Вверх
Zmiuko
Дата 15.3.2009, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Хорошо, но она может подгружать тело файлов указанных пользователем!..
PM MAIL WWW ICQ Skype Jabber   Вверх
Zmiuko
Дата 15.3.2009, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



В документации, а также на ряде блогах написано, что это хороший аналог. Коли аналог, то он подгружает удаленную информацию. Может есть какие либо аналоги подгрузок удаленных файлов при помощи JavaScript? smile (извините, если кто знает, конечно)
PM MAIL WWW ICQ Skype Jabber   Вверх
Zmiuko
Дата 17.3.2009, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Оказывается по технологии js возможно открытие двух удаленных соединений, так почему не работает?
PM MAIL WWW ICQ Skype Jabber   Вверх
IZ@TOP
Дата 18.3.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(Zmiuko @  17.3.2009,  23:29 Найти цитируемый пост)
Оказывается по технологии js возможно открытие двух удаленных соединений, так почему не работает? 

Мои соседки молоденькие тоже много чего на стене у меня на этаже писали. Делитесь ссылками, что бы мы смогли понять о чем вообще речь.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Severyanin
Дата 19.3.2009, 06:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Zmiuko, прошу прощения за оффтоп, но зачем нужен такой эмулятор?


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
awers
Дата 19.3.2009, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Хороший аналог пхп - это пхп. Или что угодно серверное, но никак не JS.
PM MAIL WWW ICQ Skype   Вверх
IZ@TOP
Дата 19.3.2009, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(Severyanin @  19.3.2009,  07:15 Найти цитируемый пост)
Zmiuko, прошу прощения за оффтоп, но зачем нужен такой эмулятор? 

Он не нужен. Это просто очередное извращение для тех, кто изучил PHP на уровне мыши-полевки и не может понять/лень разбираться в устройстве JavaSctipt.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Zmiuko
  Дата 23.3.2009, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Цитата(IZ@TOP @ 19.3.2009,  13:27)
Цитата(Severyanin @  19.3.2009,  07:15 Найти цитируемый пост)
Zmiuko, прошу прощения за оффтоп, но зачем нужен такой эмулятор? 

Он не нужен. Это просто очередное извращение для тех, кто изучил PHP на уровне мыши-полевки и не может понять/лень разбираться в устройстве JavaSctipt.

Стоп-стоп-стоп!... Каждая разработка, каждый кусок кода, пускай и не оптимальный для решения задач, я полагаю имеет место все равно... поскольку над ним хорошие люди ДУМАЛИ... СИДЕЛИ... ТРАТИЛИ ВРЕМЯ!


Что касается нужности, то как видим - это библиотека, для упрощения работы с js, для тех кто привык к пыху, для новичков,, в конце-то концов, кроме того, когда пишут фреймворк или библиотеку js какую-нибудь, то также называют функции разными именами, почему бы реализацию того или иного куска кода не обозвать допустим file() если эта функция схожа по работе с какой либо и изкакой-либо платформы.

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

Добавлено через 8 минут и 39 секунд
Цитата(IZ@TOP @  18.3.2009,  12:22 Найти цитируемый пост)
Цитата(Zmiuko @  17.3.2009,  23:29 Найти цитируемый пост)
Оказывается по технологии js возможно открытие двух удаленных соединений, так почему не работает? 

Мои соседки молоденькие тоже много чего на стене у меня на этаже писали. Делитесь ссылками, что бы мы смогли понять о чем вообще речь. 



Ну как же, позвольте... ссылки на библиотеку вверху указаны. А то что касается ваших соседок - упоминание не уместно, простите.
PM MAIL WWW ICQ Skype Jabber   Вверх
skyboy
Дата 23.3.2009, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Zmiuko, тебя уже выше ответили, на самом деле: из соображений безопасности XMLHttpRequest(именно он используется в работе функции file - можно убедиться, посмотрев в документации к этому самому phpjs) не может запрашивать данные по адресу доменов, отличающихся от текущего.
Насколько помню, в некоторых браузерах(кажется, в Firefox) это можно отключить. Но стопудов - не везде, потому работать "навярнка" такая функция для других доменов не будет. увы.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0925 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.