Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Сменить имя файла.
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Без описания
scar
Отправлено: 15 Мая, 2008 - 10:34:09
Post Id



Include


Покинул форум
Сообщений всего: 278
Дата рег-ции: Июль 2007  
Откуда: Киев

Карма 0




Здравствуйте! Моя цель, создать скрипт который будет в определенной папке менять имена всех файлов на $имя = $префикс.$имя;
Вот мои попытки:

CODE:
<?php
$pref = "gvozdey_";
$dir = "C:\Documents and Settings\Леша\Рабочий стол\Новая папка";
if(!($dp = opendir($dir))) die("Не открыло!");
while($file = readdir($dp))
if($file != '.' && $file != '..'){
$name = $pref.$file;

if($file_copy = copy($file,$name)){
if($delete = unlink($file)) { echo "Не удалилось!"; }
echo "$file_copy<br>";
}
}
closedir($dp);
?>



Выдает ошибку: Warning: copy(1.txt) [function.copy]: failed to open stream: No such file or directory in Z:\home\localhost\www\php\changename.php on line 9


Использовал функцию rename() ... не помогло. Вот что сказало:
Warning: rename(1.txt,gvozdey_1.txt) [function.rename]: No such file or directory in Z:\home\localhost\www\php\changename.php on line 9


Помогите чем сможете. Заранее спасибо!

(Отредактировано автором: 15 Мая, 2008 - 10:34:39)

 
 Top
yura3d
Отправлено: 15 Мая, 2008 - 11:46:39
Post Id


Super Member


Покинул форум
Сообщений всего: 624
Дата рег-ции: Июль 2007  
Откуда: Минск, Беларусь

Карма 17




scar
Ну во первых все обратные слеши в пути к файлу нужно удваивать (из-за этого у тебя ошибки), а лучше заменить прямыми. Во вторых вместо связки copy()+unlink() лучше применять rename().
 
 Top
Furax
Отправлено: 15 Мая, 2008 - 21:10:53
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Кроме того, надо указывать не имя файла, а полный путь к старому и новому файлам:
CODE:
rename("$dir\\$file", "$dir\\$pref$file");
 
 Top
pikasso
Отправлено: 21 Мая, 2008 - 11:53:52
Post Id


Newbie


Покинул форум
Сообщений всего: 35
Дата рег-ции: Май 2008  
Откуда: Тель Авив, Израиль

Карма 0




CODE:
<?php

$pref = "gvozdeygvozdeygvozdey_";
$dir_path = "C:/1/";
if ($handle = opendir($dir_path)) {
while (false !== ($file = readdir($handle))) {
if($file != '.' && $file != '..'){
$new_name = $pref.$file;

rename($dir_path.$file, $dir_path.$new_name);
}
}
closedir($handle);

echo "Все пучком !";
}

?>

Пробуй.
 
 Top
kastyan
Отправлено: 21 Мая, 2008 - 17:00:35
Post Id



Кипяток


Покинул форум
Сообщений всего: 280
Дата рег-ции: Июль 2005  

Карма 0




А зачем всех файлов ? может похожих по названию ?

(Отредактировано автором: 22 Мая, 2008 - 21:42:57)

 
 Top
Furax
Отправлено: 21 Мая, 2008 - 22:37:41
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




pikasso
Не уверен, что винда правильно воспримет прямые слэши...
 
 Top
yura3d
Отправлено: 22 Мая, 2008 - 04:47:38
Post Id


Super Member


Покинул форум
Сообщений всего: 624
Дата рег-ции: Июль 2007  
Откуда: Минск, Беларусь

Карма 17




Furax пишет:
Не уверен, что винда правильно воспримет прямые слэши...

Начиная с первых релизов PHP4 на всех ОС можно использовать прямые слэши. Интерпретатор автоматически будет преобразовывать их в обратные если это необходимо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0343]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33