[PHP] $_FILES per file multipli su Aruba

eluc

Nuovo Utente
15 Mag 2018
4
0
1
60
Salve,
ho avuto necessità di gestire il download di una itera directory di immagini via PHP per una applicazione web.
Utilizzando un sistema di sviluppo basato su XAMPP, ho usato un campo di inout di tipo file con le seguenti opzioni:
<input type="file" name="files[]" id="files" multiple webkitdirectory>

Dal lato server, ricevo un vettore di files via

$_FILES['files']['name']

Tutto bene su XAMPP, ma una volta pubblicato su ARUBA, la superglobal $_FILES risulta completamente vuota o non esistente.
Tutto bene, invece, con un file singolo.

Qualcuno ha avuto modo di testare una cosa simile? Sto sbagliando qualcosa o ARUBA non permette questa feature ?

Grazie!
 

macus_adi

Utente Attivo
5 Dic 2017
1.036
59
48
IT/SW
$_FILES['files']['name'] è per un solo file
$_FILES['files'][0]['name'] è per più file.... Stai inviando l'array dei file non puoi accedere direttamente a "name" ma devi farlo attraverso un ciclo!
 

eluc

Nuovo Utente
15 Mag 2018
4
0
1
60
Si, certo. Il problema sembra però essere che, trasferendo l'array, sul server aruba la superglobal $_FILES non esista proprio...
 

davide ravasi

Nuovo Utente
18 Mag 2018
6
1
3
Su aruba sei su un server linux?
Se si devi aggiornare i permessi della cartella dove effettui l'upload a 777
 

eluc

Nuovo Utente
15 Mag 2018
4
0
1
60
Grazie!
Il server è linux. La directory in questione dovrebbe essere /tmp, stando al PHP.ini. Temo che non sia tra quelle che il modello di hosting mi consenta di vedere... (almeno non dal pannello di gestione)
 

davide ravasi

Nuovo Utente
18 Mag 2018
6
1
3
Di solito il /tmp non dovrebbe creare problemi, é piuttosto la cartella dove andrà a copiare il file alla fine a cui devi cambiare i permessi.
Normalmente con un programma FTP se clicchi il tasto destro poui cambiare i permessi.
Con
PHP:
is_uploaded_file($_FILES["nome_campo"]["tmp_name"])
puoi controllare se ha fatto l'upload nella cartella temporanea
 

eluc

Nuovo Utente
15 Mag 2018
4
0
1
60
Le permission delle cartelle finali sembrano a posto. Il mio problema è però che la global $_FILES risulta indefinita o vuota, prima ancora di tentare la copia. Faccio comunque un test, grazie.