- Home
- Categorie
- Coding e Sistemistica
- PHP
- [File e Cartelle] readfile();
-
Ciao, ho seguito la vostra guida per scaricare i file con php.
E' stata molto utile, pero ho un problema: quando scarico un file .doc per esempio e vado ad aprirlo è vuoto, e dice che è di sola lettura.
-
Ciao nicolanapo, fai attenzione alla punteggiatura e alle maiuscole...
Prova ad impostare i permessi a 777 al file richiamato dalla funzione readfile.
-
Ho provato a impostare i permessi ma niente.
Il codice l'ho copiato dalla guida quindi per la punteggiatura credo stia bene.
ho effettuato una modifica, ho messo nel file downloadit.php due righe all'inizio e cioe:
$nome_file=$_GET['nome_file'];
$dimensioni_file=$_GET['dimensioni_file'];perche quando mi elencava i file e cliccavo per scaricarli mi scaricava il file downloadit.php stesso. spero di essere stato chiaro.
-
Ciao nicolanapo e benvenuto nel Forum GT.
Io ho appena testato con un file .doc e funziona regolarmente.
Direi che dovresti verificare il percorso del file che viene passato agli header e soprattutto che il file in remoto non sia per caso vuoto ed in sola lettura.
-
Ciao, le uniche modifiche che ho effettuato sono state cambiare il nome della directory da docs a quella che uso, e mettere nel file downloadit.php queste due righe:
$nome_file=$_GET['nome_file'];
$dimensioni_file=$_GET['dimensioni_file'];Il file remoto non è vuoto e non è in sola lettura...
-
Io ho un problema simile, ossia io mi prendo il mio bel file da scaricare, nella pagina iniziale, lo passo a download.php, che me lo scarica con il suo nome, il problema è che mi scarica solamente pochi byte 200/300 del file e pertanto risulta corrotto, dove sbaglio
-
@Thedarkita said:
Ciao nicolanapo, fai attenzione alla punteggiatura e alle maiuscole...
Prova ad impostare i permessi a 777 al file richiamato dalla funzione readfile.Se io lo metto dentro una cartella devo dare i permessi chmod 777 anche alla cartella?
-
@antoniog2 said:
Se io lo metto dentro una cartella devo dare i permessi chmod 777 anche alla cartella?
Sono riuscito a fare il download con i permessi 777 anche alla cartella.
Ho impostato il file con nome scarica.php e ho inserito il file nella cartella.
scarica.php è nella root.
Ora proverò a dare alla cartella solo i permessi di lettura per vedere se ciò è funzionale alle mie necessità e sarei già ad almeno il 33% di ciò che mi interessa realizzare cioè un download di file a tempo e limitandolo a 1 solo download.
-
Ho notato che nello script c'è il seguente codice:
... header('Expires: 0'); ...
Si imposta in secondi?
-
Sono riuscito a modificare il file per passargli il nome del file da scaricare ma vorrei modificarlo ulteriormente per consentire solo 1 download e che tale download sia fatto entro 7 giorni dall'inoltro del link via email.
In alternativa mi accontenterei di consentire 1 solo download.