Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: File txt ed array

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    59

    File txt ed array

    Buonasera qualcuno può aiutarmi?
    Ho un file txt dove inserisco i nomi dei paesi:
    paese 1
    paese 2
    paese 3
    ecc ecc

    In php vorrei estrapolare questi dati e salvarli in apposite variabili (queste saranno i titoli dei miei post in wordpress)

    una volta estrapolati i dati ed associati alle variabili titoli, dovrò creare uno script che inserirà i titoli dei miei post nell'apposita tabella wordpress, come posso fare? quello che sono riuscito a fare fino ad ora è l'estrapolazione dei dati senza salvarli in variabili

    tutto con questo script

    Codice PHP:
    $fp fopen("contenuto.txt""r");
    if(!
    $fp) die ("Errore nella operaione con il file");
    $data fread($fp1000);
    echo 
    $data
    Grazie in anticipo

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Se fai
    $titoli = file("contenuto.txt");

    $titoli sarà un array che ha in ogni entry una riga del file contenuto.txt, quindi se hai un titolo in ogni riga ti ritroverai nell'array un titolo in ogni entry.

    Documentazione

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    59
    Ho fatto così:

    $myfilename="contenuto.txt";
    $myarray=file($myfilename);
    foreach ($myarray as $item)
    echo $item;

    fclose($fh);


    Però adesso se provo a fare l'inserimento mi inserisce solamente l'ultima array:
    $toinsert = "INSERT INTO wp_posts
    (post_title)
    VALUES
    ('$item')";


    $result = mysql_query($toinsert); //order executes
    if($result){
    echo("<br>Inserimento avvenuto correttamente");
    } else{
    echo("<br>Inserimento non eseguito");
    }

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    fclose() non serve perché non devi aprire nessuna handle, infatti non c'è neanche un fopen(), suppongo ti sia rimasto lì per errore.

    Il codice per la query sta fuori dal ciclo foreach, quindi quando arrivi lì hai già scorso tutto l'array e $item contiene l'ultimo elemento.
    Devi mettere il codice per le query dentro il ciclo foreach.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    59
    Scusa ma come faccio a mettere il codice per la query dentro il ciclo foreach? Saresti così gentile da darmi una mano?
    Ultima modifica di viv89076; 22-04-2018 a 20:49

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    59
    Ok ci sono riuscito
    ho fatto così

    $myfilename="contenuto.txt";
    $myarray=file($myfilename);
    foreach ($myarray as $item){




    $toinsert = "INSERT INTO wp_posts
    (post_title)
    VALUES
    ('$item')";


    $result = mysql_query($toinsert); //order executes
    if($result){
    echo("<br>Inserimento avvenuto correttamente");
    } else{
    echo("<br>Inserimento non eseguito");
    }}

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    59
    C'è solamente un piccolo problemino..... riesco a popolare la tabella con i titoli (articoli) ma l'articolo non risulta pubblicato in wordpress, quindi dovrei riaprire l'articolo e digli aggiorna per farlo diventare pubblicato, infatti una volta fatto questo viene aggiunta una riga alla tabella dove si ripete l'articolo ma i campi ping_status diventa = closed poi viene popolato anche il campo guid con l'url dell'articolo, insomma è un bel casino........ come posso risolvere?
    Ultima modifica di viv89076; 22-04-2018 a 21:19

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    puoi popolarli nella insert?
    non conosco WP, ma se "closed" è chiuso se metti "open" sarà aperto... (guarda un articolo aperto..)
    $toinsert = "INSERT INTO wp_posts
    (post_title, ping_status)
    VALUES
    ('$item', 'open')";
    una cosa simile?

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Ma perché non utilizzare le api interne di wordpress?
    E' molto più semplice secondo me, guarda qui: https://developer.wordpress.org/refe...p_insert_post/

    Qulcosa di questo tipo dovrebbe bastare:

    codice:
    <?php
    // Carica WordPress nel tuo script
    require_once 'path/to/wp-load.php';
    
    
    // Crea il post e inseriscilo
    $id = wp_insert_post(array(
        'post_title'    => $title,
        'post_content'  => $content,
        'post_type'     => 'post',
        'post_status'   => 'publish',
    ));

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    59
    Se utilizzo le api interne di wordpress come potrei fare l'inserimento una volta letto il mio txt?

    Saresti così gentile da farmi un esempio?

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.