2016-09-06 2 views
1

Ich führe ein PHP-Programm, es erzeugt Ausgabe einer Sitemap im .XML-Format. Für mich jedes Mal, wenn ich PHP-Programm ausführen die Sitemap (die im XML-Format ist) sollte neue (nicht wiederholte) Dateiname sagt hallo1.xml zweiten Mal, wenn ich das gleiche php-Programm sollte hallo2.xml erhalten , drittes Mal hello3.xml ................Wie generiert man einen neuen Dateinamen für die Ausgabedatei (.xml-Datei) während der Ausführung eines PHP-Programms jedes Mal

My .php program generate the output in same server in .xml format.The name of the output file should be changed automatically each time when run Php program. 

Bitte helfen.

+0

benötigen Sie rekursive Funktion erstellen Datei existieren in Ihrem Pfad zu überprüfen und umbenennen, wenn bereits –

+0

Als Alternative existieren können Sie Datum Zeitstempel hinzufügen Namen einzureichen. Z.B. Hallo_20160906123051. Das wird immer einzigartig und auch einfach zu bestellen sein. – Sasikumar

+0

ja @Sasikumarhx das ist auch in Ordnung, aber wenn er Auto-Index 1,2,3 wollen er muss Funktion für das –

Antwort

0

Try Code unten

function getNewFileName($destFile) 
{   
     $fileInfo = pathinfo($destFile);   
     if (file_exists($destFile)) { 
      $index = 1; 
      $baseName = $fileInfo['filename'] . '.' . $fileInfo['extension']; 
      while((file_exists($fileInfo['dirname'] . DIRECTORY_SEPARATOR . $baseName))) { 
       $baseName = $fileInfo['filename']. '_' . $index . '.' . $fileInfo['extension']; 
       $index ++; 
      }    
      $destFileName = $baseName;         
     } else { 
      return $fileInfo['basename']; 
     } 

     return $destFileName; 
} 
+0

Vielen Dank, ich bin mit der Lösung gegangen

+0

ok gut. Bei der obigen Lösung wird der Dateiname wie der tatsächliche Dateiname_1, der tatsächliche Dateiname_2 basierend auf der in diesem Verzeichnis verfügbaren Datei erstellt. –

Verwandte Themen