Есть ли способ JavaScript для file_get_contents()?

Вот документация по PHP

Вот как я буду использовать его в вызове Ajax, если я не найду для этого чистый клиентский способ.

$homepage = file_get_contents('http://www.example.com/');
echo $homepage;

Есть ли способ сделать эту клиентскую сторону вместо этого, поэтому мне не нужно использовать ajax для строки?

Ответ 1

вы могли бы сделать

Код JS:

$.post('phppage.php', { url: url }, function(data) {
    document.getElementById('somediv').innerHTML = data;        
});

PHP-код:

$url = $_POST['url'];
echo file_get_contents($url);

Это даст вам содержимое URL-адреса.

Ответ 2

JavaScript не может выйти и очистить данные от страниц. Он может вызвать локальный PHP-скрипт, который затем отправляется от его имени и получает данные, но JavaScript (в браузере) не может этого сделать.

$.post("/localScript.php", { srcToGet: 'http://example.com' }, function(data){
  /* From within here, data is whatever your local script sent back to us */
});

У вас есть такие опции, как JSONP и Cross-Origin Resource Sharing, но оба из них требуют настройки другого конца, поэтому вы не можете просто выбрать домен и начать выполнять запросы на получение данных.

Дальнейшее чтение: та же политика происхождения

Ответ 3

Не в общем смысле. Междоменные ограничения запрещают использование Javascript-кода.

Если целевой сайт имеет CORS (совместное использование ресурсов между разными источниками), вы можете использовать XMLHttpRequest для загрузки файлов. Большинство сайтов не работают по умолчанию по соображениям безопасности и редко необходимы.

Если вам просто нужно включить HTML-страницу, вы можете вставить ее в элемент <iframe>. Тем не менее, это зависит от некоторых макетов (например, страница имеет элемент фиксированного размера).

Ответ 4

Или Вы можете использовать библиотеку php.js. Что позволяет некоторым функциям php для javascript. file_get_contents() выполняет одно из них.

<script>
var data = file_get_contents('Your URL');
</script>

Вы можете найти более подробную информацию о php.js: http://phpjs.org/

Ответ 5

Эта функция вернет файл в виде строки, как PHP file_get_contents().

function file_get_contents(filename) {
  fetch(filename).then((resp) => resp.text()).then(function(data) {
    return data;
  });
}

Однако, в отличие от PHP, JavaScript перейдет к следующему утверждению, не дожидаясь возвращения данных.