Advertisement
marongiuchristian93

[PHP] Rinominare i file di una directory

Jan 20th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.49 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>Rinomina file</title>
  5.     <style type="text/css">
  6.         body {
  7.             font-family: Verdana;
  8.             font-size: 12px;   
  9.             a, a:hover, a:visited, a:link {
  10.                 color: #000000;
  11.             }
  12.         }
  13.         .titolo {              
  14.             color: #DA3A11;
  15.         }
  16.         .errore {
  17.             color: #FF0000;
  18.         }
  19.         .risultato {
  20.             color: #666666;
  21.         }      
  22.     </style>
  23. </head>
  24. <body>
  25. <form action='rinomina_file.php' method='post'>
  26. Sigla del file da rinominare<br>
  27. - Qui viene preso come esempio una serie di file da rinominare in base a delle sigle.<br>
  28. Supponiamo di avere un file chiamato FILE_123.zip e un file chiamato PROVA-567.html<br>
  29.     <select name="sigla_file" id="sigla_file">
  30.         <option value="1">FILE_</option>
  31.         <option value="2">PROVA-</option>
  32.         <option value="3">RINOMINA</option>    
  33.     </select>
  34.     <input type='submit' value='Invia' name='send' />
  35. </form>
  36. <?php
  37. $repl = "";
  38. $siglaNew = "";
  39. if(isSet($_POST['send'])) {
  40. $repl = $_POST['sigla_file']; // Sigla iniziale da controllare e rimpiazzare
  41.     switch($repl) {
  42.         case "1":
  43.             $repl = "FILE_";
  44.             $siglaNew = "FILE ";
  45.             break;
  46.         case "2":
  47.             $repl = "PROVA-";
  48.             $siglaNew = "PROVA ";
  49.             break;
  50.         case "3":
  51.             $repl = "RINOMINA";
  52.             $siglaNew = "NUOVO NOME ";
  53.             break; 
  54.     }  
  55.     $dir = "/miei_files/"; // Imposto directory di azione dello script su folder
  56.     $files = scandir($dir); // Array contenente tutti i file della directory scelta con $dir
  57.     $i = 0; // Contatore file
  58.  
  59.     // Sostituzione nome dei file
  60.     foreach($files as $k) {        
  61.         $i++; // Incremento il contatore
  62.         echo "<span class='titolo'>FILE SELEZIONATO NUMERO $i :</span><span class='risultato'> $k </span><br>";
  63.         // Scrivo il nome del file preso       
  64.         $newname = str_replace($repl, $siglaNew, $k); // Nuovo nome da assegnare al file
  65.         echo "<span class='titolo'>NUOVO NOME DA ASSEGNARE:</span> <span class='risultato'>" . $newname . "</span><br>";   
  66.             if(rename("/miei_files/$k", "/miei_files/$newname")) {
  67.                 // Se il file viene rinominato correttamente
  68.                 // Notare che ho inserito il percorso nel rename
  69.                 // Il dollaro indica la variabile in questo caso per il nome file
  70.                 // Quindi avrei ad esempio /miei_files/miofile.txt
  71.                 echo "<span class='titolo'>FILE CORRETTAMENTE RINOMINATO DA <b>" . $k . "</b></span> <span class='risultato'> a => <b><a href='/miei_files/$newname'>" . $newname . "</a></b></span><hr />";
  72.             } else {
  73.                 echo "<span class='errore'>ERRORE RINOMINAZIONE FILE</span>";
  74.             }
  75.             next($files);
  76.         } // IF SUBSTR
  77.     } // FOREACH
  78. } // IF ISSET
  79. ?>
  80. </body>
  81. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement