Repository 32bit  Forum
Repository 64bit  Wiki

Per i Guru del PHP: upload di directory

Forum dedicato alla programmazione.

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.

Per i Guru del PHP: upload di directory

Messaggioda targzeta » mar giu 17, 2008 19:40

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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Per i Guru del PHP: upload di directory

Messaggioda aschenaz » mar giu 17, 2008 19:41

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...
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4433
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.18
Desktop: KDE 4.10.5

Re: Per i Guru del PHP: upload di directory

Messaggioda targzeta » mar giu 17, 2008 19:45

aschenaz ha scritto:La prima soluzione che mi viene in mente è quella di comprimere
la directory e poi fare l'upload...

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.
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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Per i Guru del PHP: upload di directory

Messaggioda conraid » mar giu 17, 2008 19:48

spina ha scritto:
aschenaz ha scritto:La prima soluzione che mi viene in mente è quella di comprimere
la directory e poi fare l'upload...

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.
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


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
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Per i Guru del PHP: upload di directory

Messaggioda targzeta » mar giu 17, 2008 19:54

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

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?
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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Per i Guru del PHP: upload di directory

Messaggioda conraid » mar giu 17, 2008 20:00

Mai fatto nemmeno io, ma l'unico modo è agire "anche" lato client
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Per i Guru del PHP: upload di directory

Messaggioda aschenaz » mer giu 18, 2008 17:49

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... :-k ). 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! :D
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4433
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.18
Desktop: KDE 4.10.5

Re: Per i Guru del PHP: upload di directory

Messaggioda targzeta » mer giu 18, 2008 21:52

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.
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Per i Guru del PHP: upload di directory

Messaggioda conraid » mer giu 18, 2008 22:06

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?
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Per i Guru del PHP: upload di directory

Messaggioda targzeta » mer giu 18, 2008 22:19

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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Per i Guru del PHP: upload di directory

Messaggioda conraid » mer giu 18, 2008 22:26

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


Non lo sa quali file sono presenti sul pc, e per quel poco che ho visto si può fare il contrario.
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
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Per i Guru del PHP: upload di directory

Messaggioda aschenaz » gio giu 19, 2008 7:23

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! :lol:
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4433
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.18
Desktop: KDE 4.10.5

Re: Per i Guru del PHP: upload di directory

Messaggioda tarini » gio giu 19, 2008 8:00

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..)
Avatar utente
tarini
Linux 1.0
Linux 1.0
 
Messaggi: 38
Iscritto il: dom mar 23, 2008 20:32
Kernel: 12
Desktop: KDE 3.x

Re: Per i Guru del PHP: upload di directory

Messaggioda targzeta » gio giu 19, 2008 9:16

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)...

quindi quello che devo studiare sono le applet java? vabbuò, ci daremo da fare.
Il plugin dovrebbe essere lato client giusto? Per quello non è un problema.

Spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Per i Guru del PHP: upload di directory

Messaggioda tarini » gio giu 19, 2008 20:33

spina ha scritto:quindi quello che devo studiare sono le applet java? vabbuò, ci daremo da fare.


buona fortuna... le applet sono davvero un argomento ostico

personalmente però consiglio flash... graficamente più bello e sicuramente piu diffuso (almeno come plugin per browser)

spina ha scritto:Il plugin dovrebbe essere lato client giusto? Per quello non è un problema.


esatto
Avatar utente
tarini
Linux 1.0
Linux 1.0
 
Messaggi: 38
Iscritto il: dom mar 23, 2008 20:32
Kernel: 12
Desktop: KDE 3.x


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti