problem dotyczy pobierania załączników z forum
pobieranie oparte jest o nagłówki: Content-type: application/force-download, Content-disposition, Content-length itp
w związku z tym, przeglądarka wyświetla okno pobierania pliku, jednakże pobrany plik ma długość 0B

sam plik wysyłany jest poprzez
  1. echo file_get_contents($settings['uploadspath']."/".$attachment['attachname']);

zawartość zmiennych:
  1. $settings['uploadspath'] = './uploads';
  2. $attachment['attachname'] = 'yyyymm/hash.attach';

każdy z folderów / plików ma uprawnienia do odczytu ( inne także )

uruchomienie prostego skryptu
  1. echo 'Uploads: f: '.file_exists( $dir ).' d: '.is_dir( $dir ).' chmod: '.get_chmod( $dir ).' r: '.is_readable( $dir ).'<br>';
  2. echo 'Date dir: f: '.file_exists( $ddir ).' d: '.is_dir( $ddir ).' chmod: '.get_chmod( $ddir ).' r: '.is_readable( $ddir ).'<br>';
  3. echo 'File: f: '.file_exists( $file ).' d: '.is_dir( $file ).' chmod: '.get_chmod( $file ).' r: '.is_readable( $file ).'<br>';

daje taki wynik:
Kod
Uploads: f: 1 d: 1 chmod: 777 r: 1
Date dir: f: 1 d: 1 chmod: 755 r: 1
File: f: d: chmod: 0 r:

wynika z tego, że PHP "nie widzi" pliku załącznika
tymczasem plik istnieje, utworzony za pomocą wspomnianych wcześniej zmiennych link do pliku
  1. <a href="'.$settings['uploadspath'].'/'.$attachment['attachname'].'">link</a>

pozwala na normalne jego pobranie ( oczywiście z nazwą hash.attach ), taki plik ma poprawny rozmiar, po zmianie nazwy normalnie można go uruchomić

ma ktoś pomysł, jaka może być przyczyna braku dostępu do pliku ? i ewentualnie jak rozwiązać ten problem ?