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 (не зарегистрирован), дата: 15 января, 2009 - 23:51
#permalink

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


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

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


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

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


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

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


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

original by: Legaev Andrey


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

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


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

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


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

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


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

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


Автор: fresh-max (не зарегистрирован), дата: 28 февраля, 2011 - 10: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 - 20:54
#permalink

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


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

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


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

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


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

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


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

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


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

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

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

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

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

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

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


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

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


Автор: ИВАНЯ (не зарегистрирован), дата: 29 апреля, 2017 - 11:32
#permalink

Hello, Спасибо


Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 00:26
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 13:22
#permalink

Автор: Armeat (не зарегистрирован), дата: 13 сентября, 2023 - 20:02
#permalink

Learning how to survive in Geometry Dash World is not simple.


Автор: Esmeralda Bates (не зарегистрирован), дата: 14 сентября, 2023 - 04:34
#permalink

do you wanna play game online like bad ice cream, you will like it.


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

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
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
Антиспам
5 + 2 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Содержание

Учебник javascript

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

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

Интерфейсы

Все об AJAX

Оптимизация

Разное

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

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