Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Переименование файлов
 
 автор: chexov   (15.09.2007 в 04:15)   письмо автору
 
 

Есть папка 1 в ней находится определенное количество файлов с разными именами и с расширением .gif, .png и .jpeg
Требуется: из папки 1 скопировать все файлы в папку 2 и чтоб каждый файл в назывался своим порядковым номером (например 1.2.3.4....n) и имел расширение .gif
я попробовал сделать так:

<?
$d
=opendir("./1");
while((
$k=readdir($d))!==false){ 
if (
$k=='.'||$k=='..'||$k=="index.php") continue; 
$n++;
Copy("./1/$n""./2/$n.gif");
}
closedir($d);
?>

Но это не совсем то что нужно, имена файлов не изменяются на порядковые номера, подскажите как лучше сделать?

   
 
 автор: kasmanaft   (15.09.2007 в 07:49)   письмо автору
 
   для: chexov   (15.09.2007 в 04:15)
 

Copy("./1/$n", "./2/$n.gif"); - У вас же имя файла в $k сидит.
Расширение можно узнать так: strrchr('file.name.gif', '.');
(чтобы переименованные файлы имели такое же)

   
 
 автор: chexov   (15.09.2007 в 08:09)   письмо автору
 
   для: kasmanaft   (15.09.2007 в 07:49)
 

у меня 3 расширения, как быть в данном случае? и мне нужно чтобы имена файлов поменялись на порядковые номера

   
 
 автор: bronenos   (15.09.2007 в 09:28)   письмо автору
 
   для: chexov   (15.09.2007 в 08:09)
 

$extensions = array(".jpg", ".bmp", ".gif", ".png");
if (!in_array($ext, $extensions)) continue;

   
 
 автор: chexov   (15.09.2007 в 09:32)   письмо автору
 
   для: bronenos   (15.09.2007 в 09:28)
 

я нашел решение:
<?
$d
=opendir("./1"); 
while((
$k=readdir($d))!==false){  
if (
$k=='.'||$k=='..'||$k=="index.php") continue;  
$n++; 
Copy("./1/".$k."""./2/".$n.".gif"); 


closedir($d);
?>

спасибо...

   
 
 автор: kasmanaft   (15.09.2007 в 11:24)   письмо автору
 
   для: chexov   (15.09.2007 в 09:32)
 

Чтобы не менять все расширения на гиф, можно вот поступить
copy("./1/".$k, "./2/".$n.strrchr($k, '.'));

   
 
 автор: chexov   (15.09.2007 в 12:24)   письмо автору
 
   для: kasmanaft   (15.09.2007 в 11:24)
 

мне нужно было гиф:)

   
 
 автор: Poison   (15.09.2007 в 12:35)   письмо автору
 
   для: chexov   (15.09.2007 в 12:24)
 

Зачем вы .jpg переименовываете в .gif?

   
 
 автор: chexov   (15.09.2007 в 12:41)   письмо автору
 
   для: Poison   (15.09.2007 в 12:35)
 

ну надо! странные у вас мистер вопросы

   
 
 автор: mefestofel   (15.09.2007 в 12:49)   письмо автору
 
   для: chexov   (15.09.2007 в 12:41)
 

Интересно конечно...
Я бы повторился:
Скажите, а к чему такие манипуляции?
С чем это связано?

   
 
 автор: chexov   (16.09.2007 в 02:27)   письмо автору
 
   для: mefestofel   (15.09.2007 в 12:49)
 

Это связано с тем что мне нужно огромное количество графических файлов упорядочить по номерам (не буду же я в ручную 1000 файлов переименовывать) и сделать всем расширение .gif

   
 
 автор: Unkind   (15.09.2007 в 13:06)   письмо автору
 
   для: chexov   (15.09.2007 в 12:41)
 

Да нет уж. Это у Вас странная задача. Я надеюсь, Вы не думаете, что от смены расширения сменится формат файла?

   
 
 автор: chexov   (16.09.2007 в 02:29)   письмо автору
 
   для: Unkind   (15.09.2007 в 13:06)
 

Вы можете подсказать как сменить формат файла? я буду только рад:) а пока то что есть...

   
 
 автор: Ralph   (16.09.2007 в 09:37)   письмо автору
 
   для: chexov   (16.09.2007 в 02:29)
 

Вы считаете,что если завтра грузчик Иванов в паспортном столе сменит фамилию на Ющенко,он автоматически станет президентом Украины ??? Самое тупое,что я могу посоветовать,это в цикле
<?php
......
$im=imagecreatefromjpeg($i.'jpg');
imagegif($im,$i.'gif');
imagedestroy($im);
...... 
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования