Javascript.RU

PHP-функция: file_get_contents

Javascript:

function file_get_contents( url ) {	// Reads entire file into a string
	// 
	// +   original by: Legaev Andrey
	// %		note 1: This function uses XmlHttpRequest and cannot retrieve resource from different domain.

	var req = null;
	try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
		try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
			try { req = new XMLHttpRequest(); } catch(e) {}
		}
	}
	if (req == null) throw new Error('XMLHttpRequest not supported');

	req.open("GET", url, false);
	req.send(null);

	return req.responseText;
}

Примеры:

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


Автор: Max123 (не зарегистрирован), дата: 16 января, 2009 - 00:51
#permalink

Оригинально =))) аналог пхпвской =)


Автор: B@rmaley.e><e (не зарегистрирован), дата: 31 мая, 2009 - 13:47
#permalink

Плохой аналог. Можно подгружать только файлы со своего домена.


Автор: 4erk, дата: 16 мая, 2010 - 18:48
#permalink

Да норм. Нам большего и не нужно)


Автор: peter911 (не зарегистрирован), дата: 19 сентября, 2010 - 20:48
#permalink

Гениально! Автору скрипта спасибо! Кстати кто автор?


Автор: Гость (не зарегистрирован), дата: 20 октября, 2010 - 16:53
#permalink

original by: Legaev Andrey


Автор: -ExotiC- (не зарегистрирован), дата: 29 ноября, 2010 - 18:35
#permalink

Дайте пожалуйста не аналог, а саму php плиз, очень нада


Автор: B@rmaley.e><e, дата: 29 ноября, 2010 - 19:22
#permalink

Эм, в php она встроена.


Автор: mav1, дата: 3 декабря, 2010 - 14:34
#permalink

эх...а как бы сделать аналог, чтобы можно было подгружать не со своего,а с чужого сервера...


Автор: B@rmaley.e><e, дата: 3 декабря, 2010 - 17:28
#permalink

JSON можно. Все остальное - нельзя.


Автор: fresh-max (не зарегистрирован), дата: 28 февраля, 2011 - 11:57
#permalink

Хоть и поздно, но может кому-то пригодится.

Можно сделать еще так:
Создать, например, файл getContent.php в корне сайта с таким содержимым:

$path = trim( $_GET['path']);
$file = $path;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,10);//ждем 10 сек до соединения
$fileget = curl_exec($ch);
curl_close($ch);

echo $fileget;

а там, где нужно использовать js-ую file_get_contents, вызывать ее так:

file_get_contents('http://вашсайт/getContent.php?path='.urlencode(http://нужный URL));

Сам контент будет подгружаться средствами PHP, соответственно нет разницы с чьего домена подгружать.


Автор: Гость (не зарегистрирован), дата: 15 марта, 2016 - 21:54
#permalink

fresh-max, большое спасибо за эту мысль и наводку!


Автор: Mihail.Artushenko (не зарегистрирован), дата: 6 октября, 2011 - 21:52
#permalink

Подскажите в чем проблема в Chrome на req.send(null) выдается ошибка "NETWORK_ERR: XMLHttpRequest Exception 101"


Автор: Гость (не зарегистрирован), дата: 6 октября, 2012 - 21:15
#permalink

а как использовать


Автор: Гость (не зарегистрирован), дата: 10 марта, 2013 - 10:14
#permalink

А этот аналог сработает в приложении для андроид?


Автор: Воган (не зарегистрирован), дата: 14 мая, 2013 - 00:02
#permalink

очень классный код. сразу заработал. спасибо автору!


Автор: Гость (не зарегистрирован), дата: 28 июля, 2013 - 00:10
#permalink

Мда...
Где вы такие тупые вопросы находите?


Автор: Гость (не зарегистрирован), дата: 19 августа, 2013 - 16:33
#permalink

А где ты такой умный взялся?


Автор: Гость (не зарегистрирован), дата: 4 ноября, 2013 - 04:16
#permalink

Откуда мы и зачем мы здесь?


Автор: SuperГость (не зарегистрирован), дата: 12 декабря, 2016 - 12:01
#permalink

Быть или не быть ))


Автор: faa27, дата: 11 августа, 2015 - 16:25
#permalink

А можно вместо:

req.open("GET", url, false);

использовать?:

req.open("POST", url, false);

Автор: Гость (не зарегистрирован), дата: 20 августа, 2015 - 10:36
#permalink

какой мудах синхронный xhr запускает?


Автор: Гость (не зарегистрирован), дата: 20 августа, 2015 - 10:36
#permalink

какой мудах синхронный xhr запускает?


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2015 - 09:04
#permalink

Всё бы хорошо, но работает только в эксплорере, а как на счёт хрома, или FF?


Автор: Музыкальный магазин в москве (не зарегистрирован), дата: 2 октября, 2015 - 03:00
#permalink

может как нибуть iframe сюда применить?


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
1 + 6 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Реклама
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum