Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[PHP] copiare un file in una cartella di rete

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

[PHP] copiare un file in una cartella di rete

Postdi Ribonix » 11/09/07 18:57

Salve a tutti.
Sospetto ci siano problemi di privilegi per l'utenza che usa la web interface rispetto all'amministratore stesso.

Tramite una pagina PHP di un mio sito intranet ho salvato nel www stesso del sito un file (GLOBAL.XML). Il file l'ho importato da un sito internet. La stessa pagina dovrebbe tasmettere in una cartella condivisa della mia rete il file appena downloadato.

Nel www dell'intranet ho creato un file ESPORTA.BAT che esegue questo comando:
copy C:\www\global.xml Z:\
copy C:\www\global.xml C:\www\global.xyz


Se lo eseguo dal DOS come amministratore mi copia il file global.xml in Z:\ mentre in C:\www\ mi crea il file global.xyz

Ora, per eseguire dei comandi DOS ho utilizzato questo comando PHP:
exec('ESPORTA.BAT')
Ma il comando esegue solo la copia del file da C: a C: ma non da C: a Z:

Il volume Z: è linkato come \\servera1\xmlpath
tra l'altro in un secondo file .BAT ho provato a digitare questo comando;
copy c:\www\global.xml \\servera1\xmlpath
ed anche
copy c:\www\global.xml \\servera1\c$\xmlpath
In entrambe i casi il comando funziona da DOS ma non in shell di PHP.

Sospetto a questo punto ci siano problemi di privilegi...
Stavo pensando anche di creare un file eseguibile che sia ingrado di copiare da una cartella locale ad una cartella di rete il file .XML ma dubito a questo punto che possa funzionare.

Qualcuno che conosce la programmazione PHP sa come ovviare al problema?
Allah Akhbar! Allah Akhbar! Allah Akhbar!
Avatar utente
Ribonix
Utente Senior
 
Post: 346
Iscritto il: 12/02/03 22:41
Località: 3GYPT

Sponsor
 

Postdi Triumph Of Steel » 12/09/07 16:43

l'unica cosa che mi viene in mente è un problema di permessi... certo...
evidentemente quando copi via DOS, lui usa come utenza il tuo PC, mentre quando copi con PHP lui usa un altro tipo di utenza che non è tra quelle che hanno privilegi a quella risorsa di rete mappata.

dovresti provare magari con Apache, e settare ad apache uno user che ha permessi...
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi Ribonix » 12/09/07 18:24

Proverò a documentarmi... non ho proprio idea di come settare i permessi di Apache su una macchina Windows... Credo però che bisognerà mettere mano all'http.conf o al PHP.ini...
Tra l'altro ho appena provato... se con quel comando PHP eseguo il "whoami" l'echo mi risponde "system"... quindi in effetti sono due utenti diversi differenti ad eseguire lo stesso comando.
Allah Akhbar! Allah Akhbar! Allah Akhbar!
Avatar utente
Ribonix
Utente Senior
 
Post: 346
Iscritto il: 12/02/03 22:41
Località: 3GYPT


Torna a Programmazione


Topic correlati a "[PHP] copiare un file in una cartella di rete":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti