Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    caricamento random news

    ciao a tutti e buon natale!
    io su un sito ho uno spazio news....

    ho 3 - 4 news con :
    - immagine
    -data
    -titolo
    -testo
    -link

    io vorrei inserire queste news in un testo txt o inc e vorrei che venissero caricate random ad ogni refresh della pagina...
    è fattibile ?

  2. #2
    il metodo piu veloce è quello di creare un file di testo per ogni news, che nomini per esempio
    news1.php ( o inc, o txt)
    news2.php
    ...

    e poi nel corpo della pagina tramite la funzione rand() di php scegli un numero compreso tra 1 e il numero delle news che hai.

    Se vuoi tenere un solo file invece, dovresti formattarlo in qualche modo, così da poterlo leggere ed inserire in array PHP i testi delle varie news e poi visualizzarle random. ad esempio, il file potrebbe essere fatto in questo modo:

    TITLE: .....
    DATE: ....
    TEXT: ..........
    ................
    TITLE: .....
    DATE: ....
    TEXT: ...........

    Il tuo script PHP leggerà riga per riga e quando incontrerà le parole TITLE, DATE e TEXT inserirà il contenuto in un array Titles[], Dates[] e Textes[]


  3. #3
    infatti vorrei tenere un file di testo...
    il mio testo allora sarebbe

    immagine:
    data:
    titolo:
    testo:
    link:

    poi ogni notizia come la separo?

    a questo punto apro il file da php

    Codice PHP:
    <?php
    $news
    =fopen("news.txt","r");


    ?>
    e poi ?

  4. #4
    ecco

    Codice PHP:
    <?php
    $news
    =fopen("news.txt","r");

    while (!
    feof($news)) {
        
    $immagine fgets($news4096);
        
    $data fgets($news4096);
    $titolo fgets($news4096);
    $notizia fgets($news4096);
    $link fgets($news4096);



    }
    ;
    così mi visualizza la notizia leggendo riga per riga

    se poi io voglio inserire un'altra notizia ?
    e per aggiungere caricamento random ?

  5. #5
    io userei il metodo FILE() per leggere il file di testo.
    Ogni a capo, quindi il fine riga, viene usato per creare un nuovo rigo in un array.
    Quando vai ad inserire una nuova news, non fai altro che creare una stringa, le cui varie sezioni sono separate da un carattere ben noto, tipo il PIPE (|).

    Con ARRAY_RAND() vai ad estrapolare un rigo (quindi una news) dal tuo array in maniera casuale.
    Non devi fare altro che fare l'explode di questa stringa per il simbolo del PIPE, o di qualsiasi altro tu abbia scelto, ed il gioco è fatto.

    Per salvare una nuova news nel tuo file di testo, non devi fare altro che usare la combinazione di funzioni FOPEN() usando il metodo A+ e FWRITE().

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    ehmmmm.... potreste farmi un esempio ?

    sono alle prime armi di php...

  7. #7
    Nei link che ti ho postato, quelli al manuale ufficiale ci sono molti esempi... di sicuro qualcuno che puoi anche copiare ed incollare.
    Dimmi te dove hai problemi e fammi vedere il codice che hai buttato giù.
    Così vediamo dove ti serve una mano!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    ti ringrazio ma io ho il problema che il php lo sto imparando....
    ho provato a guardare gli esempi ma non c'è nulla che fa al caso mio...

    capisco che dovrei mettere le righe lette in un array ma non so come fare..


    Codice PHP:
    $html implode(''file('news.txt'));

    echo 
    $html
    così mi crea array e poi mi visualizza tutto

    io pero dovrei fare che ogni riga ha una variabile

    poi se c'è un'altra notizia mi crea un nuovo array

    poi mi seleziona un array random

    dall'array leggo le variabili


    oppure questo

    Codice PHP:
    <?php
    $lines 
    file('news.txt');


    foreach (
    $lines as $line_num => $line) {
        echo 
    $line "
    "
    ;
    }


    ?>
    mi estrae ogni riga del mio file
    pero' io a queste dovrei assegnare una variabile che faccio visualizzare al posto giusto...

  9. #9
    Allora... qui il problema va suddiviso in due parti:
    1. Inserimento di una news in un file di testo
    2. estrapolazione di una news random dal file di testo.
    Andiamo per gradi.

    1.
    Hai una form, suppongo, nella quale vai a scrivere la news da salvare in un file di testo.
    Il file cui punta la form (quindi quello che preleva le variabili e le mette nel file di testo) sarà più o meno come segue:
    Codice PHP:
    <?php    
    // $immagine => Qui si prevede un discorso in più, per ora evito
    // recupero le variabili della form
    $data $_POST['data'];
    $titolo $_POST['titolo'];
    $testo $_POST['testo'];
    $link $_POST['link'];
    // preparo una stringa da inserire nel file di testo
    $stringa $data."|".$titolo."|".$testo."|".$link."\n";
    // mi preparo a scrivere nel file di testo
    // come prima cosa lo apro
    $fp fopen('percorso/al/file_di_salvataggio.txt''a+');
    // scrivo all'interno del file
    fwrite($fp$stringa);
    // chiudo lo stream
    fclose($fp);
    /*
    Il gioco è fatto..... naturalmente, la cartella dove risiede il file
    di testo, deve avere i giusti permessi di lettura e scrittura
    */
    ?>
    In questo modo si è creato uno script che usa un foglio di testo come database.
    La stringa creata, come noti di certo, ha due caratteri speciali: il \n, che crea una nuova riga negli inserimenti successivi, ed il pipe (|) che ci tornerà utile nello scomporre ogni singola riga nei suoi pezzi di partenza.

    2.
    Per leggere il file di testo ed estrarre una news Random, si può agire così.
    Codice PHP:
    <?php
    $array_news 
    file('percorso/al/file_di_salvataggio.txt');
    // ora ho un array di tutte le righe del file di testo
    // ne estraggo una a caso
    $rand_key array_rand($array_news1);
    // in questo modo ho estratto a caso una delle chiavi 
    // dell'array delle news, e vado a recuperarne il contenuto
    $stringa $array_news[$rand_key[0]];
    // esplodo la stringa appena recuperata per 
    // il carattere che ho deciso
    list ($data$titolo$testo$link) = explode ("|"$stringa);
    // ecco la magia

    echo "
    $data

    $titolo

    $testo

    $link
    "
    ;
    ?>
    Penso che più chiaro di così non potevo esserlo!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  10. #10
    mitico!
    per la scrittura nel file funziona benissimo tutto ok

    pero' nel momento in cui vado a leggerlo non mi stampa nulla...

    la pagina è bianca e guardando il codice html mi "stampa" solo


    codice:
    
    

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 © 2024 vBulletin Solutions, Inc. All rights reserved.