2016-09-22 37 views
-1

我有一个文件包含例如1000个图像,我有100个名称,我需要重命名每100个名称中的一个名称使用PHP,我做了下面的代码,但似乎不起作用::我想重命名多个图像在不同名称的文件夹中,每10个图像使用php

下面是代码::

<?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

我无法理解部件'i我<计数($名称)背后的想法' – apokryfos

回答

0

你只会重命名第10个文件的代码。我会做这样的事情。

$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++; 
    } 
相关问题