2015-02-24 5 views
0

Я пытаюсь создать пару строк кода, которые переименуют все jpg-изображения в указанном каталоге. Родительский каталог был c:/xampp/htdocs/practice/haha ​​/ .Но переименованы изображения сохраняются в C:/XAMPP/HTDOCS/практика/переименовать все файлы изображений в указанном каталоге

Мой код сделать переименовать файл, но проблема удаляет все файл изображения формируют specied каталог оставив каталог empty.It магазинов переименованный файл в корневой каталог php. И вновь созданные файлы не являются кликабельными файлами изображений. Так что есть две проблемы, которые я хочу решить.

  1. Как я могу сохранить переименованные файлы в том же каталоге, где они были до того, как произойдет переименование.

2. Как я могу поддерживать их как файл с возможностью клика?

это, как они выглядели после переименования:

enter image description here

$dir='c:/xampp/htdocs/practice/haha/'; 
echo getcwd().'</br>'; 
$i=1; 
if(is_dir($dir)){ 
echo dirname($dir); 
    $file=opendir($dir); 

    while(($data=readdir($file))!==false){ 
     $info=pathinfo($data,PATHINFO_EXTENSION); 
     if($info=='jpg'){ 
     //echo pathinfo($data,PATHINFO_BASENAME).'</br>'; 
     echo basename(pathinfo($data,PATHINFO_BASENAME),'.jpg').'</br>'; 
     rename($dir.'/'.$data,'image'.$i.'jpg'); 
     $i++; 
     } 
    } 

} 
+0

добавить путь к аргументу 2-го переименования –

+0

спасибо, но что я могу сделать с проблемой № 2? –

+0

Clickabale? вы перечисляете их на странице html или показываете исходный список каталогов –

ответ

1

Вы пропустили точку в имени файла:

rename($dir.'/'.$data,'image'.$i.'jpg'); 

Вот почему они не являются интерактивными. Используйте это вместо этого:

rename($dir . '/' . $data, 'image' . $i . '.jpg'); 
// ---------------------------------------^
Смежные вопросы