Risultati da 1 a 10 di 10

Discussione: Copia file da Windows a Linux

  1. #1
    Dante1991 è offline Nuovo Iscritto
    Data Registrazione
    Dec 2010
    Messaggi
    5

    Copia file da Windows a Linux

    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.

  2. #2
    L'avatar di Eliox
    Eliox è offline Moderatore
    Data Registrazione
    Feb 2005
    Messaggi
    4,392

  3. #3
    Dante1991 è offline Nuovo Iscritto
    Data Registrazione
    Dec 2010
    Messaggi
    5
    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:// ...

  4. #4
    L'avatar di alessandro1997
    alessandro1997 è offline Super Moderatore
    Data Registrazione
    Oct 2009
    Località
    Roma
    Messaggi
    5,144
    Questa classe sembra fare al caso tuo. Ti consiglio di dargli un'occhiata.

  5. #5
    Dante1991 è offline Nuovo Iscritto
    Data Registrazione
    Dec 2010
    Messaggi
    5
    In effetti sembra proprio ciò che mi serve.

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

    Ho un pò di difficoltà nell'usarla, sapete aiutarmi?

  6. #6
    L'avatar di alessandro1997
    alessandro1997 è offline Super Moderatore
    Data Registrazione
    Oct 2009
    Località
    Roma
    Messaggi
    5,144
    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.

  7. #7
    Dante1991 è offline Nuovo Iscritto
    Data Registrazione
    Dec 2010
    Messaggi
    5
    Citazione Originariamente Scritto da alessandro1997 Visualizza Messaggio
    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.

  8. #8
    L'avatar di alessandro1997
    alessandro1997 è offline Super Moderatore
    Data Registrazione
    Oct 2009
    Località
    Roma
    Messaggi
    5,144
    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.

  9. #9
    Dante1991 è offline Nuovo Iscritto
    Data Registrazione
    Dec 2010
    Messaggi
    5
    Citazione Originariamente Scritto da alessandro1997 Visualizza Messaggio
    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!

  10. #10
    L'avatar di alessandro1997
    alessandro1997 è offline Super Moderatore
    Data Registrazione
    Oct 2009
    Località
    Roma
    Messaggi
    5,144
    Se ti interessa, la magia sta tutta in questa riga:
    Codice 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

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •