На docs.google.com у меня лежит документ, который я должен загрузить в csv формате. С этим все отлично, при переходе по ссылке файл скачивается с нужным форматом.
Но когда я использую такой код:
<?php
$filename = "https://docs.google.com/...;
echo file_get_contents($filename);
?>
Сервер выдает ошибку:
Warning: file_get_contents(https://docs.google.com/...): failed to open stream *куча квадратов в восклицательными знаками* in C:\xampp\htdocs\test\index.php on line 4
Если перед ссылкой добавить функцию urlencode(), появляется читаемая ошибка:
Warning: file_get_contents(https%3A%2F%2Fdocs.google.com...): failed to open stream: No such file or directory in C:\xampp\htdocs\index.php on line 4
Причем функция не работает с любыми ссылками, даже например https://google.com. Везде выдает одно и то же. Проверял локально и на хостинге. Версия php 7.1.10. Права ко всей папке поставил 777.
Цель задания является просто скачивание и сохранение файла на сервере. (с помощью file_put_contents). Примечательно, что все работало на старом хостинге.
var_dump(file_get_contents($filename)); выводит bool(false) при любых ссылках.
allow_url_fopen стоит значение on
Возможно в настройках отключена опция allow_url_fopen, которая позволяет работать с удаленными файлами.
Либо попробуйте аналог на CURL:
function file_get_contents_curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости