Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Funzione - esiste?
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • S
      scwd User Attivo • ultima modifica di

      Funzione - esiste?

      Ciao ragazzi ho una domanda:
      volevo sapere se esiste una funzione in grado di scrivere su un file già esistente, ma da un determinato punto che mi interessa... In c sò che c'è qualcosa del genere con fseek ma non sò qui...Thank 😄

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • S
        scwd User Attivo • ultima modifica di

        Ok ragazzi ho trovato la soluzione, nelle mie ricerche purtroppo non ho trovato nulla poi ripensando alla funzione suddetta del C/C# ho trovato la soluzione che vi posto:
        [PHP]
        <?php

        $fp = fopen('somefile.txt');
        // Lettura di qualche dato
        $data = fgets($fp, 4096);
        // si torna ad inizio file
        // come rewind($fp);
        fseek($fp, 0);
        ?>
        [/PHP]
        Allora premetto che ora mi ci metto e lo proverò per ora lo dò per buono eheh 😄

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • S
          scwd User Attivo • ultima modifica di

          Allora ragazzi ho provato e funziona ora allora cambio la mia domanda:
          Diciamo che ho un file in php che chiamo pagina.php che è fatta per esempio così:
          [PHP]
          <?PHP
          $x="ciao";
          ?>[/PHP]
          E fino a qui ci siamo, ora mettiamo il caso che io voglia inserire una cosa tra <?PHP e $x?
          con fseek($fp,6) mi scrive da dopo <?PHP ma il problema è come devo aprire il file? con a+ mi accoda ma non mi si fila
          l'fseek() perchè accoda dalla fine, mentre con r+ mi cancella tutto quello dopo quello che inserisco...
          aiuto 😄

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            thedarkita ModSenior • ultima modifica di

            http://php.net/fopen

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • S
              scwd User Attivo • ultima modifica di

              <SPAN class=type>[PHP]
              resource fopen ( string $filename , string $mode [, bool $use_include_path [, resource $zcontext ]] )
              [/PHP]
              $zcontext è la chiave? non capisco, perchè se prenderebbe un'intero forse indicava la posizione...e comunque non accoderei i file ma li cancellerei ehehe

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • S
                scwd User Attivo • ultima modifica di

                Ok vi spiego un pò quello che ho capito lavorandoci su:
                Sappiamo che con a o a+ accodiamo al file quindi non va bene, r o r+ (o w o w+) non va bene nella mia posizione perchè anche contando i caratteri dopo di cui ci serve inserire del testo, quest'ultimo cancella tutto quello che viene dopo e quindi anche questo non va bene. Un modo per farlo ci sarebbe ma dovremmo passare il pezzo che in teoria viene distrutto in una stringa, dopodiche scrivere ciò che vogliamo e riaccodare questa stringa.
                Un pò un casino ma penso funzioni. Per quello che mi serviva a me alla fine faccio così:
                Praticamente tolgo ?> finale ed inserisco tutto il codice che mi serve poi insieme al codice inserisco anche (sempre sottoforma di stringa) ?> per la chiusura del file .php 😄 un macello ^^

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • I
                  ilnetsurfer User Attivo • ultima modifica di

                  invece di a+, r+ ecc, prova a mettere x+...l'ho letto dal manuale, ma non l'ho mai provato...funzione con php 5

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • S
                    scwd User Attivo • ultima modifica di

                    Grazie per il consiglio, senti sempre da manuale sai se quindi scrive da dove ho il puntatore? perchè se è così sarebbe molto utile anche se diciamo ho aggirato questo mio problema...Grazie ancora per la risposta 😄

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • I
                      ilnetsurfer User Attivo • ultima modifica di

                      praticamente ti mette il puntatore all'inizio del file...oppure puoi utilizzare un altra soluzione...l'ho adoperata tempo fa...
                      ovvero, tu metti tutti i dati del file in una variabile, poi ci scrivi dentro al file e ti aggiungi i file della variabile...un esempio:

                      [php]
                      <?php
                      $file="file.txt";
                      $fx = fopen($file, 'r');
                      $tmp = fread($fx, filesize($file));//legge tutto il file
                      $var=$_GET['var'];//un esempio di variabile che ricevi da un form get
                      fwrite($fp,"$var/n$tmp ")or die("Errore nella scrittura del file");
                      fclose($fx);
                      ?>
                      [/php]

                      Per il resto, consulta il manuale oppure vai qui:
                      http://www.allwebfree.it/php_txt.php

                      :wink3::wink3:

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • S
                        scwd User Attivo • ultima modifica di

                        Si ho fatto così per il modulo che cancella una certa cosa all'interno di un file (vedi: http://www.giorgiotave.it/forum/php-mysql/74844-script-newsletter-senza-mysql.html) poi per quanto riguarda aggiungere siccome non mi interessa dove aggiungere apro il file in w+ sovrascrivendo il tag di chiusura ?> , poi inserisco quello che voglio incluso infine il nuovo tag di chiusura ?> eehe Grazie per le risposte 😄

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • I
                          ilnetsurfer User Attivo • ultima modifica di

                          Prova cosi:

                          [PHP]<?php
                          $file="file.txt";
                          $fx = fopen($file, 'r+');
                          $tmp = fread($fx, filesize($file));//legge tutto il file
                          $riga= fgets ($fx, 8192);//mi posiziono al secondo rigo

                          $var=$_GET['var'];//un esempio di variabile che ricevi da un form get
                          $tutto="$riga<br>$var<br>$tmp<br>";
                          fwrite($fp,"$tutto")or die("Errore nella scrittura del file");
                          fclose($fx);
                          ?> [/PHP]
                          E' un esempio un po grossolano...non l'ho testato

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • S
                            scwd User Attivo • ultima modifica di

                            Ci provo e ti faccio sapere ora vado che domani a lavoro eheh ti ringrazio 😉

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            Caricamento altri post
                            Rispondi
                            • Topic risposta
                            Effettua l'accesso per rispondere
                            • Da Vecchi a Nuovi
                            • Da Nuovi a Vecchi
                            • Più Voti