Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    scrivere dopo la parola?

    ciao a tutti, vorrei conoscere il metodo per fare in modo di scrivere una certa frase "questa è una frase" in un file di testo dopo la parola "parola:" qualcuno di voi conosce un metodo? e nel caso voglio far legggere la stessa frase dopo quella parola come si potrebbe fare? ho cercato con le funzioni f....() ma nn mi pare ci sia nulla che mi possa aiutare
    "Voglio diventare il re dei pirati"

  2. #2
    Utente di HTML.it L'avatar di flessciato
    Registrato dal
    Jun 2002
    Messaggi
    1,522
    http://www.php.net/manual/it/function.fwrite.php

    nel tuo file.txt non c'è alcun motivo per scrivere "frase" come costante.
    basta farlo da php

    echo "frase:".$testoCaricatoEsternamente;

    dove $testoCaricato.... è la frase che ti vai a leggere

    con fwrite() scrivi nel file indicato con fopen() lo apri in scrittura, con fread() lo leggi, con fclose() chiudi l'handle (di accesso in scrittura...).

    Cerca queste funzioni... ci sono molti esempi già precotti

    Slack 10 - Apple G5 2.5 - winzoz xp
    php/mysql/apache
    Flash MX / roba in 3D / roba per il video e l'audio

  3. #3
    fwrite mi scrive solo all'inizio o alla fine del file di testo..
    "Voglio diventare il re dei pirati"

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    la prima coas che mi viene in mente è una gestione dellla riga leggendo carattere per carattere, quando arrivi allo spazio o all'andata a capo ,leggi la parola e se è uguale a quella che serve a te, gli concateni la tua stringa e scrivi tutto in un secondo file di testo...
    tipo una cosa del genere ( scusa, l'ho buttata giù al momento,ma non l'ho provata, quindi non so se funziona correttamente):
    Codice PHP:
    <?php 
    $fp 
    fopen("testo.txt","r");
    $fp2 fopen("testo2.txt","w");
    $word_to_search "pippo";
    $tua_frase "questa e una frase";
    $newStr "";
     while (
    false !== ($char fgetc($fp))) {
     
      if(
    $char != " " && $char != "\n")
      { 
       
    $str .= $char
      }  
      else{
      
       if(
    $str == $word_to_search)
        {
         
    $str .= " ".$tua_frase
        } 
        
    $newStr .= " ".$str;
        
       
    $str=""
       }   
    }

    fwrite($fp2,$newStr);
    fclose($fp);
    fclose($fp2);
    spero di esserti stato d'aiuto...ciao

  5. #5
    Utente di HTML.it L'avatar di flessciato
    Registrato dal
    Jun 2002
    Messaggi
    1,522
    un passaggio inutile, e per lo più dispendioso: gli dai la lettura della stringa e la concateni in PHP. é molto più veloce e semplice. In questo caso specifico non ha senso andare prima in lettura, poi in scrittura ed ancora in lettura della nuova stringa. :rollo:

    Anzi: per assurdo puoi addirittura passare un stringa già concatenata nel caso in cui volessi COMUNQUE mettere la parola "frase=".... quindi quel passaggio è inutile 2 volte.

    concatena e basta
    Slack 10 - Apple G5 2.5 - winzoz xp
    php/mysql/apache
    Flash MX / roba in 3D / roba per il video e l'audio

  6. #6
    il problema è scrivere in una determinata riga (che gia so dove si trova la parola) .. fwrite() nn mi scrivere in una determinata posizione
    "Voglio diventare il re dei pirati"

  7. #7
    Utente di HTML.it L'avatar di flessciato
    Registrato dal
    Jun 2002
    Messaggi
    1,522
    capo dei pirati, forse non mi sono spiegato:
    se vuoi scrivere del testo in un file è matematico che lo devi utilizzare.
    Quindi cioè che scrivi, se va utilizzato, deve essere inserito in un file di testo che NON NECESSARIAMENTE deve essere strutturato come "credi".
    Quindi.... se voglio salvare una stringa in un txt non devo dire "ora salvo la mia stringa:" e scrivere la stringa.

    Questo lo fai da php. se vuoi puoi pure passare iunutilmente valori ad un file di testo, fai come credi se ritieni che sia più efficiente.

    Il punto però è che concatenando la stringa eviti 3 funzioni di php e il passaggio di caratteri INUTILI al file di testo.

    Slack 10 - Apple G5 2.5 - winzoz xp
    php/mysql/apache
    Flash MX / roba in 3D / roba per il video e l'audio

  8. #8
    mmm
    quidni il tuo problema è che devi scrivere una stringa in una determinata posizione? che non sia per forza fine o inizio? giusto?
    se è così potresti usare file per legegre tutto il file e poi inserire la riga
    es:
    Codice PHP:
    $miariga="Questa è una frase\n";
    $righe file('file.txt');
    //Supponiamo che tu voglia scrivere nella seconda riga, ovviamente la riga che era al secondo posto diventerà terza
    $scriviin=2;
    $handle fopen("file.txt""w"); //in modo da troncarre la lunghezza a 0
    $tot=count($righe);
    for(
    $i=0;i<$scriviin;$i++)
    {
       
    fwrite($handle$righe[$i]);
    }
    fwrite($handle$miariga);
    for(
    $i=$scriviin;i<$tot;$i++)
    {
       
    fwrite($handle$righe[$i]);

    Non l'ho provata e non sonop nemmeno sicuro di aver capito il tuo problema, tu provala e fammi sapere
    ciaaaaaao

    EDIT:
    Ho letto roa che tu vuoi che la stringa venga aggiunat dopo uan parola che tu conosci, ora edito e aggiungo qui sotto lo script adattato.

    ECCOLO QUI:
    Codice PHP:
    $dopodi "dopodime";
    $miafrase="Questa è una frase";

    $righe file('file.txt');//Supponiamo che tu voglia scrivere nella seconda riga, ovviamente la riga che era al secondo posto diventerà terza
    $handle fopen("file.txt""w"); //in modo da troncarre la lunghezza a 0
    foreach($righe as $key => $value)
    {
        
    $tovata=strpos($value$dopodi);
        if(
    $trovata===true)
        {
            
    $riga[$key].= " ".$miafrase;
        }
        
    fwrite($handle$riga[$key]);
    }
    fclose($handle); 

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.