Есть ли способ 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 перейдет к следующему утверждению, не дожидаясь возвращения данных.