Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Scrivere da file TXT

  1. #1
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114

    Scrivere da file TXT

    Ciao, non so se questa è la sezione giusta, se sia meglio utilizzare l'XML per quello che dovrei realizzare, ma nel contempo lo espongo qui:

    Dovrei scrivere alcune cose in una pagina, ma attraverso un file TXT (quindi con facilità di scrittura), perciò, qualcosa di scritto e in seguito un'immagine correlata!

    In breve...

    recuperare stringa (didascalia) con immagine correlata (http://...)


    Mi serve che sia in modo semplice perchè dovrebbe compilarlo qualcuno che non conosce nulla di scripting e la server, ecco perchè servirebbe l'inserimento dei dati da un file txt soltanto da modificare.

    E' meglio l'XML per questo genere di cose?

    Grazie ancora e a presto!

    PS: Naturalmente (sob!) le stringe con le relativa immagini sono PIù DI UNA!!!

  2. #2
    Hola igreo,

    usare l'xml per una cosa così semplice mi sembra eccessivo. All'uopo userei un file di testo con un tracciato definito, per esempio:

    codice:
    url+spazio+didascalia+CR
    url+spazio+didascalia+CR
    facilmente spiegabile anche ai duri di comprendonio. Dato questo tracciato, cavi fuori le raspe dal parsing con poche linee di php:

    File beu.txt:
    codice:
    httpeccecc Prova del carajo
    httpeccecc2 Prova del porongo
    Codice PHP:
    $handle fopen('beu.txt''r');
    while (
    $line fgets($handle)) {
        list(
    $src$alt) = explode(' 'rtrim($line"\n "), 2);
        
    // Fai quanto devi con i dati letti
        
    echo "<img src=\"$src\" alt=\"$alt\" />\n";
    }
    fclose($handle); 

  3. #3
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Tanto per capirne di più faccio alcune domanda, ma prima ti ringrazio! Grazie. ;D

    Le domande:

    $handle = fopen('beu.txt', 'r'); //la r sta per? A cosa serve?

    while ($line = fgets($handle)) {
    list($src, $alt) = explode(' ', rtrim($line, "\n "), 2); //questa riga è arabo: potresti spegarla passo passo? dalle due variabili in list, che funzione hanno, all'explode cosa dovrebbe fare... esplode in due parti dove esistono degli spazi? Tagliando con rtrim la stringa e ponendola a capo? ...

    // Fai quanto devi con i dati letti
    echo "<img src=\"$src\" alt=\"$alt\" />\n";
    }
    fclose($handle);


    Grazie ancora!;P

  4. #4
    la r sta per read ovvero apertura del file in lettura...


    Codice PHP:
     list($src$alt) = explode(' 'rtrim($line"\n "), 2); 
    list inserisce all'interno delle variabili i primi due elementi dell'array che ottieni esplodendo una riga del file txt utilizzando come separatore lo spazio e rimuovendo "\n" (il carattere di a capo) dalla fine della riga...

    http://it.php.net/manual/it/function.list.php

    http://it.php.net/manual/it/function.explode.php

    http://it.php.net/manual/it/function.rtrim.php

    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  5. #5
    Bravo il king: esplicazione chiara e professionale.

    Aggiungo che nella chiamata a explode devo specificare 2 in $limit per evitare che mi esploda gli spazi nella didascalia (e mi ritorni solo la prima parola in $alt). L'url per definizione non ha spazi e quindi esplodendo una linea di testo in 2 al primo spazio ritornerà sempre url + resto della stringa.

  6. #6
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Un plaso con encomio! Grazie.

    Però vediamo di esaurire l'argomento... tanto per i posteri! ^^

    Quindi:

    fopen('beu.txt', 'r');

    quale altro ordine possiamo dare oltre ad "r"? Quel comanfo fopen apre un qualcosa che poi con r leggiamo, ma altrimenti cosa possiamo fare con fopen?

    e poi ancora..

    una volta usato l' fopen, bisogna sempre mettere anche fclose?


  7. #7
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Beh, mi rispondo da solo per quanto posso...

    mode Descrizione
    'r' Apre in sola lettura; posiziona il puntatore all'inizio del file.
    'r+' Apre in lettura e scrittura; posiziona il puntatore all'inizio del file.
    'w' Apre il file in sola scrittura; posiziona il puntatore all'inizio del file e tronca il file alla lunghezza zero. Se il file non esiste, tenta di crearlo.
    'w+' Apre in lettura e scrittura; posiziona il puntatore all'inizio del file e tronce il file alla lunghezza zero. Se il file non esiste, tenta di crearlo.
    'a' Apre in sola scrittura; posiziona il puntatore alla fine del file. Se il file non esiste, tenta di crearlo.
    'a+' Apre in lettura e scrittura; posiziona il puntatore alla fine del file. Se il file non esiste, tenta di crearlo.
    'x' Crea ed apre il file in sola scrittura; posiziona il puntatore all'inizio del file. Se il file esiste già la chiamata a fopen() fallirà restituendo FALSE e verrà generato un errore di lievllo E_WARNING. Se il file non esiste si tenterà di crearlo. Questo equivale a specificare i flag O_EXCL|O_CREAT nella sottostante chiamata a open(2) . Questa opzione è supportata a partire dalla versione 4.3.2 di PHP, e funziona solo con i file locali.
    'x+' Crea ed apre il file in lettura e scrittura; posiziona il puntatore all'inizio del file. Se il file esiste già la chiamata a fopen() fallirà restituendo FALSE e verrà generato un errore di lievllo E_WARNING. Se il file non esiste si tenterà di crearlo. Questo equivale a specificare i flag O_EXCL|O_CREAT nella sottostante chiamata a open(2) . Questa opzione è supportata a partire dalla versione 4.3.2 di PHP, e funziona solo con i file locali.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.