Oggi vi propongo una piccola classe per la connessione e il download dei file da un server FTP.

La classe prevede diverse funzioni:

  • changeDir -> cambio directory
  • listFiles -> lista i files di una directory
  • checkExt -> controlla l'estensione
  • download -> scarica i file in locale

Il costruttore della classe sarà una cosa del genere:

    private $server;
    private $username;
    private $password;
    private $connessione;

    public function __construct($server, $username, $password) {
        $this->server = $server;
        $this->username = $username;
        $this->password = $password;
        $this->connessione = ftp_connect($server);
        $login = ftp_login($this->connessione, $username, $password);
        if (!$this->connessione || !$login) {
            echo 'IMPOSSIBILE EFFETTUARE IL LOGIN';

        } else {
            if (!ftp_pasv($this->connessione, TRUE)) {
                echo 'IMPOSSIBILE ATTIVARE PASS MOD';
            }
        }
    }

 

Inizializiamo ciò che ci serve per la connessione, usando le funzioni ftp_connect e ftp_login.

Se il login va a buon fine proviamo ad attivare la modalità passiva con ftp_pasv; senza di questa non sono riuscito a scaricare i file.

La lettura di file tXT in C# si riduce veramente a poche righe di codice.

Gli oggetti che ci servono sono StreamReader (che si occupa di leggere i caratteri dallo stream di byte) e un oggetto File (che rappresenta il file che vogliamo leggere).

Nell'esempio poi usereme la direttiva using in modo che le risorse aperte verranno chiuse automaticamente quando non sono più necessarie.

Argomento mai affrontato, anche se richiesto: come scrivere su file di testo con PHP.

In verità è abbastanza semplice.

Tutto quello che ci occorre è:

  • aprire il file con fopen
  • scrivere con fwrite
  • chiudere con fclose

Il bello di fopen è che si occuperà lui di creare il file se non esiste.

La cosa importante è il permesso che da al file in apertura.

Qui potete vedere tutti i permessi che supporta la funzione fopen.

Ad esempio in questo caso dovete dargli almeno il permesso in scrittura; nel mio caso specifico userà a+ perchè voglio che il testo venga sempre aggiunto a quello esistente, senza che la parte vecchia venga sovrascritta.

A volte capita di dover estrapolare informazioni da semplici file di testo invece che da database o file XML.

Oggi vi porto un esempio concreto.

Ho un'animazione Flash che usa un file XML per popolare l'animazione.

Gestire il contenuto di questo file XML però non è proprio una divertimento.

L'idea che mi è venuta è questa: creare un file PHP che ha come output un struttura XML e che prende il contenuto dal file di testo.

Così mi basta mettere/rimuovere solo poco contenuto dal file TXT.

Vediamo come si fa.

Prima di tutto il file TXT in questione è una cosa del genere:

Abbigliamento
Concorsi
Cucinare a bordo
Manutenzione Barca a Motore
Manutenzione Barca a Vela
News Saloni
Normative
Novità dai Cantieri
Regate
Directory Società
Itinerari
Manuali di bordo
Arcipelago Campano
Arcipelago Pontino

Dobbiamo quindi creare un file PHP che apre questo file, legge il contenuto e lo aggiunge a tag XML.

L'altro giorno mi è capitato questo problema: dovevo importare tutti i valori da una tabella di un db Informix in una tabella MySQL.

Abbiamo esportato tutti i valori dal db Informix e questo è ciò che viene fuori:

NULL;CODICE-61;DESCRIZIONE-1; ;

NULL;CODICE-63;DESCRIZIONE-2; ;

NULL;CODICE-64;DESCRIZIONE-3; ;

Tutte queste righe vanno importate in MySQL.

Come vedete non ci sono istruzioni INSERT preconfezionate come fanno i db moderni.