Copia file da Windows a Linux

Dante1991

Nuovo Utente
20 Dic 2010
5
0
0
Salve.
Il mio problema è scrivere un script in grado di copiare un file da un server windows ad un server Linux (nello specifico Ubuntu), dove è installato apache.

I due pc sono collocati nella stessa rete lan, e il file è raggiungibile solamente tramite un percorso di tipo smb:// protetto da password.

Qualcuno è in grado di aiutarmi?
Sono gradite anche soluzioni alternative.
Ringrazio anticipatamente.
 
Php, ma posso usare anche la funzione exec() per mandare un comando al terminale come "cp".

Il problema è che non riesco a fargli accettare il percorso di tipo smb:// ...
 
In effetti sembra proprio ciò che mi serve.

E' un pò scarna di documentazione però questa classe :pernacchi

Ho un pò di difficoltà nell'usarla, sapete aiutarmi?
 
Non sono sicuro di aver capito bene, ma mi sembra di leggere che in realtà non sia necessario usare direttamente la classe. Devi solamente includerla nel tuo script e poi potrai accedere tranquillamente agli URL smb:// tramite le funzioni della libreria stream.
 
Non sono sicuro di aver capito bene, ma mi sembra di leggere che in realtà non sia necessario usare direttamente la classe. Devi solamente includerla nel tuo script e poi potrai accedere tranquillamente agli URL smb:// tramite le funzioni della libreria stream.

Quoto dalla descrizione
The class implements functions to create, read and write to files available in the local network shares.
Quindi nella classe è implementata qualche funzione per leggere i file. Il problema è capire quale... Non c'è un minimo di documentazione.
 
Ripeto: prova ad accedere all'URL come faresti normalmente con le funzioni per la manipolazione dei file (fopen, fwrite, fgets) e vedi se funziona. Io, purtroppo, non posso testare la classe, quindi dovrai necessariamente farlo tu.
 
Ripeto: prova ad accedere all'URL come faresti normalmente con le funzioni per la manipolazione dei file (fopen, fwrite, fgets) e vedi se funziona. Io, purtroppo, non posso testare la classe, quindi dovrai necessariamente farlo tu.

Incredibile, ma vero, funziona!

Non mi spiego ancora a livello tecnico come possa essere possibile, dato la classe non ri-implementa nessun metodo già esistente, ne c'è la necessita dichiarare un oggetto appartenente ad essa per il suo utilizzo. Insomma, a prima vista è un utilizzo totalmente trasparente, mi è bastato semplicemente includere la classe nel mio script e usare la semplicissima funzione copy con il percorso smb://.


Grazie mille!
 
Se ti interessa, la magia sta tutta in questa riga:
PHP:
stream_wrapper_register('smb', 'smb_stream_wrapper') or die ('Failed to register protocol');
Che praticamente registra il wrapper per gli URL di tipo smb. Con questo sistema puoi gestire un tipo illimitato di protocolli, semplicemente registrando il relativo wrapper :)
 

Discussioni simili