2016-09-22 2 views
-1

umbenennen Ich habe eine Datei enthält zum Beispiel 1000 Bilder, und ich habe 100 Namen, ich muss alle 10 Bilder mit einem Namen aus den 100 Namen umbenennen mit pHP, hatte ich den folgenden Code getan, aber es scheint, es nicht ::Ich möchte mehrere Bilder in einem Ordner mit unterschiedlichen Namen alle 10 Bilder mit php

Hier ist der Code funktioniert ::

<?php 
$names = array("mo1","mo2", "mo3","mo4",...); 
$directory = '/Users/apple/Desktop/toyor/'; 
$scanned_directory = array_diff(scandir($directory), array('..', '.')); 
$flag = 0; 
foreach ($names as $value) { 
    for ($i=$flag; $i < count($names); $i++) { 
     foreach ($scanned_directory as $file_name) { 
      if($flag == 9) 
       continue; 
      else{ 
       rename($file_name, $value.generate_random_string()); 
       $flag++; 
      } 
     } 
    } 
} 
function generate_random_string($length = 10) { 
    $characters = 'abcdefghijklmnopqrstuvwxyz'; 
    $charactersLength = strlen($characters); 
    $randomString = ''; 
    for ($i = 0; $i < $length; $i++) { 
     $randomString .= $characters[rand(0, $charactersLength - 1)]; 
    } 
    return $randomString . rand(10, 99); 
} 
?> 
+0

Ich habe Probleme beim Verstehen der Idee hinter dem Teil '$ i apokryfos

Antwort

0

der Code, den Sie haben umbenennen nur die ersten 10 Dateien. Ich würde so etwas tun.

$name = array('mo1', 'mo2',... 
    $scanned_directory = array_diff(scandir($directory), array('..', '.')); 
    $flag = 0; 
    $current_name = 0; 
    foreach ($scanned_directory as $file_name) { 
     if ($flag == 9) { 
      $flag = 0; 
      $current_name++; 
     } 
     rename($file_name, $name[$current_name].generate_random_string()); 
     $flag++; 
    } 
Verwandte Themen