Pobieranie pliku przez PHP

0

Cześć wszystkim, niestety chat GTP zawiódł i podrzemuje ludzkiej pomocy.

Na stone www.strona-a.pl mam link do pliku www.strona-b.pl/test.pdf

<a href="www.strona-b.pl/test.pdf" target="_self">test</a>

Gdy użytkownik pierwszy raz chce poprać ten plik to go nie ma fizyczne na serwerze, tylko uruchamia się strona 404 z kodem PHP, który dopiero z jeszcze innej strony pobiera plik i zapisuje go na serwerze pod nazwą test.pdf.

W dużym skrócie wygląda to tak:

file_put_contents($filePath, $data);
header("Refresh:0");
exit();

I tu pojawia się moje pytanie. Gdy plik fizycznie jest na serwerze to strona nie uruchamia się tylko rozpoczyna pobieranie plików.
Gdy pliku nie ma to uruchamia się biała strona się po czyn rozpoczyna pobranie pliku.

Czy znacie jakieś magiczne sposoby, aby objeść to zachowanie strony za pierwszą próbą poprania pliku?

0
<?php
if (!file_exists($filePath)) {
  file_put_contents($filePath, $data);
}

echo file_get_contents($filePath);

Mógłbyś też dodać odpowiednie nagłówki:

$size = fileSize($filePath);

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=download.png'); 
header('Content-Length: ' . $size);

1 użytkowników online, w tym zalogowanych: 0, gości: 1