Я пытаюсь принудительно загрузить файл, отправив ему специальные заголовки.При этом я должен перенаправить URL-запросы для документов PDF через мой скрипт загрузки.
Я передаю запрос с именем $ seg3, который перед отправкой отправляет base64_encode () ed, а затем base64_decode () ed и urlencoded () при попытке запросить файл.
Я посмотрел на использование,
if (ini_get('allow_url_fopen') == '1')
{
$data = file_get_contents(urlencode(base64_decode($seg3)));
}
else
{
$fp = fopen(urlencode(base64_decode($seg3)), 'rb');
$data = stream_get_contents($fp);
fclose($fp);
}
Но оба file_get_contents()
и stream_get_content()
терпят неудачу с:
fopen($URL): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
Тем не менее, когда я выкидываю отправляемый URL-адрес, я могу скопировать и вставить его в браузер и открыть файл.
Кажется, что это происходит только в том случае, если в файле есть пробелы, однако ошибка возникает независимо от того, использую я urlencode()
или нет.