Per i Guru del PHP: upload di directory
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- targzeta
- Iper Master
- Messaggi: 6631
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Per i Guru del PHP: upload di directory
Salve ragazzi,
ho la necessità di portare tutto un ramo di directory su di un server web, però non voglio passare via ftp, ma usando semplicemente uno script php che faccia selezionare all'utente una directory e poi gli permetta di caricare sul server remoto tutto il ramo.
Per capirci e come se volessi fare l'upload di un file, solo che il file è tutta una directory con le varie sottodirectory. Stavo cercando di capire la situazione. Da quello che ho capito in php non si può fare, a meno di selezionare i file uno alla volta, ma ci sarebbe una possibilità, ad esempio sfruttando i javascript?
Grazie,
Spina
ho la necessità di portare tutto un ramo di directory su di un server web, però non voglio passare via ftp, ma usando semplicemente uno script php che faccia selezionare all'utente una directory e poi gli permetta di caricare sul server remoto tutto il ramo.
Per capirci e come se volessi fare l'upload di un file, solo che il file è tutta una directory con le varie sottodirectory. Stavo cercando di capire la situazione. Da quello che ho capito in php non si può fare, a meno di selezionare i file uno alla volta, ma ci sarebbe una possibilità, ad esempio sfruttando i javascript?
Grazie,
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Per i Guru del PHP: upload di directory
La prima soluzione che mi viene in mente è quella di comprimere
la directory e poi fare l'upload...
http://www.php.net/manual/en/book.zip.php etc...
la directory e poi fare l'upload...
http://www.php.net/manual/en/book.zip.php etc...
- targzeta
- Iper Master
- Messaggi: 6631
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Per i Guru del PHP: upload di directory
mmm, quindi il mio script php deve decomprime la directory e poi lavorarci su. L'idea non è maligna, però tieni conto che c'è un limite massimo alla dimensione del file che si può caricare, per il mio server web è di 18MB, se do la possibilità di caricare directory, allora uno la sfrutta, e molto probabilmente ci mette dentro anche più di 18MB.aschenaz ha scritto:La prima soluzione che mi viene in mente è quella di comprimere
la directory e poi fare l'upload...
Mi piacerebbe fare uno script che scandisce la directory selezionata e invoca lo script remoto per l'upload, senza che sia l'utente a scandire la directory.
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Per i Guru del PHP: upload di directory
Per fare questo devi appoggiarti a javascript o qualcosa lato client. Come fa il php a trovare i file dentro la dir dell'utente?spina ha scritto:mmm, quindi il mio script php deve decomprime la directory e poi lavorarci su. L'idea non è maligna, però tieni conto che c'è un limite massimo alla dimensione del file che si può caricare, per il mio server web è di 18MB, se do la possibilità di caricare directory, allora uno la sfrutta, e molto probabilmente ci mette dentro anche più di 18MB.aschenaz ha scritto:La prima soluzione che mi viene in mente è quella di comprimere
la directory e poi fare l'upload...
Mi piacerebbe fare uno script che scandisce la directory selezionata e invoca lo script remoto per l'upload, senza che sia l'utente a scandire la directory.
Spina
L'unica, IMHO, è come hai detto nel primo messaggio appoggiarsi a javascriot e magari tramite AJAX interagire con il php
- targzeta
- Iper Master
- Messaggi: 6631
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Per i Guru del PHP: upload di directory
Infatti, ma mi piacerebbe sapere se usando i javascript ci si può riuscire nell'intento. Cioé, quando fai l'upload di un file tramite FORM, si deve impostare il method a POST e passare anche "enctype="multipart/form-data", con i javascript, si può fare una cosa del genere?conraid ha scritto:....
Per fare questo devi appoggiarti a javascript o qualcosa lato client. Come fa il php a trovare i file dentro la dir dell'utente?
L'unica, IMHO, è come hai detto nel primo messaggio appoggiarsi a javascriot e magari tramite AJAX interagire con il php
Tenete conto che io non ho mai studiato il javascript e AJAX non so neanche cosa sia .
Mi basta sapere se la strada è giusta, per il resto, studiare il javascript non dovrebbe essere difficile,
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Per i Guru del PHP: upload di directory
Mai fatto nemmeno io, ma l'unico modo è agire "anche" lato client
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Per i Guru del PHP: upload di directory
Quindi, in teoria, tu vorresti permettere all'utente di selezionare una
directory e poi uno script dovrebbe scandire la directory e fare
l'upload file per file (e magari anche le sotto-directory)??
Se smanetti abbastanza con javascript può darsi che tu lo possa fare.
Praticamente, lo script dovrebbe creare tanti campi input tipo file
quanti sono, appunto, i file e riportarne in ognuno di essi il percorso
(non vedo come altrimenti possa farlo... ). Ma credo insorgano
anche grossi problemi di sicurezza...
Ma lo domanda è: ne vale la pena? In fondo, anche la maggior
parte dei pseudo-client ftp via web permette solo l'upload file
per file (magari decomprimono gli eventuali file compressi): vedi,
ad esempio, http://netftp.lissyl.nl/ .
Comunque sia, in bocca al lupo!
directory e poi uno script dovrebbe scandire la directory e fare
l'upload file per file (e magari anche le sotto-directory)??
Se smanetti abbastanza con javascript può darsi che tu lo possa fare.
Praticamente, lo script dovrebbe creare tanti campi input tipo file
quanti sono, appunto, i file e riportarne in ognuno di essi il percorso
(non vedo come altrimenti possa farlo... ). Ma credo insorgano
anche grossi problemi di sicurezza...
Ma lo domanda è: ne vale la pena? In fondo, anche la maggior
parte dei pseudo-client ftp via web permette solo l'upload file
per file (magari decomprimono gli eventuali file compressi): vedi,
ad esempio, http://netftp.lissyl.nl/ .
Comunque sia, in bocca al lupo!
- targzeta
- Iper Master
- Messaggi: 6631
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Per i Guru del PHP: upload di directory
Il punto è che se invio tramite form un file ad uno script lato server, lo script può lavorare con il file come meglio gli crede, ad esempio potrebbe rinominare il file, dire ad un database:"ora abbiamo anche un altro file", etc..etc..
Mentre se comprimo la directory:
1) Arrivo molto rapidamente a raggiungere il file_size_max
2) Lo script lato server si complica perchè deve prima decomprime il file, e poi eseguire lui la scansione delle directory e sotto-directory
Mentre se uso ftp:
1) Il cliente deve essere ingrado di usare ftp (o filezilla et simili)
2) Non posso eseguire dei controlli sui file che si sta uploadando, vedi aggiunta in un database del nome del file
Vediamo che succede, al massimo vi tengo aggiornati. Per ora sto studiando il javascript.
Spina
P.S. Per quanto riguarda la sicurezza, è ovvio che tutta questa libertà di azione la si deve dare solo a chi ha una sessione attiva, e non al primo che capita.
Mentre se comprimo la directory:
1) Arrivo molto rapidamente a raggiungere il file_size_max
2) Lo script lato server si complica perchè deve prima decomprime il file, e poi eseguire lui la scansione delle directory e sotto-directory
Mentre se uso ftp:
1) Il cliente deve essere ingrado di usare ftp (o filezilla et simili)
2) Non posso eseguire dei controlli sui file che si sta uploadando, vedi aggiunta in un database del nome del file
Vediamo che succede, al massimo vi tengo aggiornati. Per ora sto studiando il javascript.
Spina
P.S. Per quanto riguarda la sicurezza, è ovvio che tutta questa libertà di azione la si deve dare solo a chi ha una sessione attiva, e non al primo che capita.
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Per i Guru del PHP: upload di directory
Ma FTP puoi gestirlo da PHP
Guarda se c'è qualche funzione che può interessarti.
http://it2.php.net/ftp
Io non l'ho mai utilizzato, anche se mi hanno chiesto proprio giorni fa di implementare un sistema di trasferimento file i grandi dimensioni, che superi la dimensione settata dal server. Ma li penso che dovrò agire sul caching via ajax... avete qualche idea?
Guarda se c'è qualche funzione che può interessarti.
http://it2.php.net/ftp
Io non l'ho mai utilizzato, anche se mi hanno chiesto proprio giorni fa di implementare un sistema di trasferimento file i grandi dimensioni, che superi la dimensione settata dal server. Ma li penso che dovrò agire sul caching via ajax... avete qualche idea?
- targzeta
- Iper Master
- Messaggi: 6631
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Per i Guru del PHP: upload di directory
Scusa, ma come dicevi giustamente tu ieri, come fa uno script lato server a sapere quali file sono presenti sul client? Tramite le funzioni FTP di PHP io credo che tu possa connettere il server su cui gira lo script, con un altro server via FTP, non con il PC locale che lancia in qualche modo lo script, o sbaglio?
Spina
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Per i Guru del PHP: upload di directory
Non lo sa quali file sono presenti sul pc, e per quel poco che ho visto si può fare il contrario.spina ha scritto:Scusa, ma come dicevi giustamente tu ieri, come fa uno script lato server a sapere quali file sono presenti sul client? Tramite le funzioni FTP di PHP io credo che tu possa connettere il server su cui gira lo script, con un altro server via FTP, non con il PC locale che lancia in qualche modo lo script, o sbaglio?
Spina
E comunque devi mandarle ad un server FTP.
Alla fine sì, devi sempre agire lato client per selezionare i file. O almeno non mi viene in mente altro
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Per i Guru del PHP: upload di directory
Avevo provato a implementare un sistema via ftp, proprio per asche, ma ci ho
rinunciato, privilegiando l'upload (in una versione parallela...). Non che
la cosa sia impossibile. ma è molto più complicato dell'upload via http; tra
l'altro, bisogna star lì a distinguere, uno per uno, il mimetype del file...
Insomma, quello che con l'upload risolvi con semplicità, con l'ftp ti richiede
centinaia di righe di codice... Oltretutto, ho l'impressione che richieda un
uso abbondante di scripting lato client... Non fa per me!
rinunciato, privilegiando l'upload (in una versione parallela...). Non che
la cosa sia impossibile. ma è molto più complicato dell'upload via http; tra
l'altro, bisogna star lì a distinguere, uno per uno, il mimetype del file...
Insomma, quello che con l'upload risolvi con semplicità, con l'ftp ti richiede
centinaia di righe di codice... Oltretutto, ho l'impressione che richieda un
uso abbondante di scripting lato client... Non fa per me!
- tarini
- Linux 0.x
- Messaggi: 38
- Iscritto il: dom 23 mar 2008, 20:32
- Kernel: 12
- Desktop: KDE 3.x
- Contatta:
Re: Per i Guru del PHP: upload di directory
ragazzi con ajax e javascript in generale non è assolutamente possibile lavorare con i file in locale del client... (grazie a dio...)
per poter inviare in un solo colpo directory (sia compresse che non) cè la necessità di "andare oltre" a js tramite un'applett java o un flash (entrambi però come sappiamo richiedono un plugin)
riguardo all'FTP da PHP non credo serva in quanto permette di collegarsi dal server web ad un server ftp (il client non è inserito in questo workflow..)
per poter inviare in un solo colpo directory (sia compresse che non) cè la necessità di "andare oltre" a js tramite un'applett java o un flash (entrambi però come sappiamo richiedono un plugin)
riguardo all'FTP da PHP non credo serva in quanto permette di collegarsi dal server web ad un server ftp (il client non è inserito in questo workflow..)
- targzeta
- Iper Master
- Messaggi: 6631
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Per i Guru del PHP: upload di directory
quindi quello che devo studiare sono le applet java? vabbuò, ci daremo da fare.tarini ha scritto:...
per poter inviare in un solo colpo directory (sia compresse che non) cè la necessità di "andare oltre" a js tramite un'applett java o un flash (entrambi però come sappiamo richiedono un plugin)...
Il plugin dovrebbe essere lato client giusto? Per quello non è un problema.
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- tarini
- Linux 0.x
- Messaggi: 38
- Iscritto il: dom 23 mar 2008, 20:32
- Kernel: 12
- Desktop: KDE 3.x
- Contatta:
Re: Per i Guru del PHP: upload di directory
buona fortuna... le applet sono davvero un argomento osticospina ha scritto:quindi quello che devo studiare sono le applet java? vabbuò, ci daremo da fare.
personalmente però consiglio flash... graficamente più bello e sicuramente piu diffuso (almeno come plugin per browser)
esattospina ha scritto:Il plugin dovrebbe essere lato client giusto? Per quello non è un problema.