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. Duplicare uno stupido file .txt aggiungendo un ciclo for
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      tigrone User Attivo • ultima modifica di

      @max_400 said:

      oppure un numero che si incrementa...
      Potresti usare il timestamp.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • M
        max.400 User Attivo • ultima modifica di

        il timestamp? 😮

        e che cos'è? :mmm:
        qualkosa che si mangia?... ih ih ih

        ho bisogno esempi concreti ... io conosco poco php e molto actionscript

        gradirei un bel esempio
        grazie :yuppi:

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          tigrone User Attivo • ultima modifica di

          Prova a fare un:

          echo time();
          

          E' il numero dei secondi intercorsi tra l'istante attuale e il primo Gennaio 1970

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • M
            max.400 User Attivo • ultima modifica di

            ho provato come dici tu
            maxgiulia.altervista.org/max/08-agosto/textarea/prova/timestamp.php

            e vedo tanti numeri di cui l'ultimo aumenta in modo progressivo
            ma come faccio a collegarlo al file txt? :mmm:

            che sintassi devo usare affinchè avvenga la duplicazione in modo progressivo del seguente file cucu.txt? :bho:

            attendo risposta

            grazie :yuppi:

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              tigrone User Attivo • ultima modifica di

              Allora, se il contenuto del file non cambia mai, prima di produrre un nuovo txt devi copiare il contenuto in una variabile:

              
              $var=fopen("cucu.txt","r"); 
              $dim=filesize("cucu.txt"); 
              $contenuto=fread($var,$dim); 
              fclose($var);
              
              

              Poi, ricavi il timestamp attuale, componi il nuovo nome del file e lo scrivi:

              
              $time=time();
              $nome='cucu_'.$time.'_.txt';
              $var=fopen($nome,"w+"); 
              fwrite($var,$contenuto); 
              fclose($var);
              
              

              Ti ritrovi dei nuovi file con questi nomi:
              cucu_3456344757_.txt
              cucu_4454567567_.txt
              ecc...

              Tra l'altro, con il timestamp impresso nel nome del file, estrapolandolo con la funzione explode(), potresti ricavare data, ora, minuti e secondi del momento in cui quel file è stato creato!

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                tigrone User Attivo • ultima modifica di

                Oppure, molto più semplicemente:

                
                copy('cucu.txt','cucu_'.time().'_.txt');
                
                

                Non ci avevo pensato... :wink3:

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • M
                  max.400 User Attivo • ultima modifica di

                  senti però non ci sarebbe un altro modo
                  anzicchè il timestamp un semplice numero che aumenta prograssivamente

                  tipo
                  $num=1;
                  $tot=$num+1;

                  ed aggiungerlo al posto di time()


                  ho provato e me lo duplica una volta sola

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • L
                    lucabartoli User Attivo • ultima modifica di

                    Forse intendi questo:

                    <?php
                    $limit=5; //Cambia questo numero per cambiare il numero di duplicati
                    
                    for($i=0;$i<$limit;$i++) copy('file.txt','file'.$i.'.txt');
                    ?>
                    
                    ```Occhio che devi settare i permessi di scrittura sulla cartella dove si trova file.txt
                    
                    Attento anche al fatto che ogni volta il nome del file deve essere diverso, altrimenti il primo utente duplica il file 5 volte e il secondo ricrea il file 5 volte sovrascrivendo quelli precedenti... in pratica così è inutile.
                    Se ci spieghi a che ti serve magari è più semplice capirti e darti uno script che faccia al caso tuo.
                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • M
                      max.400 User Attivo • ultima modifica di

                      ho provato il tuo script e funziona
                      però a me serve una sola copia in modo progressivo

                      perchè non mi funziona quella semplice addizione?

                      Ps: tu che sei un utente premium come si fa a diventarlo ho provato quelle 20 domande ne ho indovinate 15 su 20.. il limite degli errori quant'è?
                      e come si fa conoscere le risposte?

                      permessi di scrittura? :mmm:

                      aspetta vostra risposta ragazzi... :yuppi:
                      adesso sto uscendo
                      mi collego dopo mezzanotte come il lupo

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • L
                        lucabartoli User Attivo • ultima modifica di

                        Questo dovrebbe fare al caso tuo.
                        Si poteva fare in modi più efficienti (e anche più fail safe), ma questo se ti vai a vedere cosa fanno le funzioni lo capisci anche.

                        <?php
                        
                        $prefisso_file = 'file';
                        $suffisso_file = '.txt';
                        $directory_file='/cartella/';
                        
                        
                        $pre = $_SERVER{'DOCUMENT_ROOT'}.$directory_file.$prefisso_file;
                        $n=0;
                        while ( file_exists($pre.$n.$suffisso_file) ) $n++;
                        copy($prefisso_file.$suffisso_file,$prefisso_file.$n.$suffisso_file);
                        ?>
                        

                        Siccome la funzione file_exists non accetta url relativi, devi sostituire "/cartella/" con la directory nella quale si trova il tuo file.txt, a partire dalla cartella principale (quella in cui hai caricato la index del tuo sito, per capirci).

                        Per diventare utente premium gli errori massimi sono..... zero! 😉
                        Per conoscere le risposte è sufficiente studiarsi il regolamento, è tutto scritto lì.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • M
                          max.400 User Attivo • ultima modifica di

                          ho provato il tuo script e me lo duplica 1 volta sola :mmm:

                          il nome del file originale file.html

                          quello duplicato file0.html
                          e poi non duplica più :mmm:

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • L
                            lucabartoli User Attivo • ultima modifica di

                            vabbè, fai così:

                            <?php
                            
                            $prefisso_file = 'file';
                            $suffisso_file = '.txt';
                            
                            $n=0;
                            while (  file_exists($prefisso_file.$n.$suffisso_file) ) $n++;
                             copy($prefisso_file.$suffisso_file,$prefisso_file.$n.$suffisso_file);
                            ?>
                            
                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • M
                              max.400 User Attivo • ultima modifica di

                              perfetto... :yuppi:

                              alla prossima
                              au revoir..
                              by max :fumato:

                              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