Мне нужно переименовать изображения в папке, то есть дать им уникальные имена. С помощью этого кода изображения не переименовываются, а удаляются!

$path = "../b-300x250/";
$items = glob($path . '*.jpg');
foreach($items as $img) { 
    $uniq = uniqid() . '.jpg';
    rename("$img", "$uniq");
}
php
1
qadenza 24 Апр 2017 в 08:39

2 ответа

Лучший ответ

Ваш код перемещает ваши изображения в другой каталог. Добавьте путь к вашему уникальному имени.

$path = "../b-300x250/";
$items = glob($path . '*.jpg');
foreach($items as $img) { 
    $uniq = $path . uniqid() . '.jpg';
    rename("$img", "$uniq");
}
1
Thakkie 24 Апр 2017 в 05:42

Здесь вы должны указать полный или правильный путь. В своем коде вы пытаетесь переименовать файлы в current working directory, но на самом деле вы должны работать с каталогом ../b-300x250/, поэтому вы должны добавить это, чтобы ваш код правильно переименовал файл.

Измените это .

rename("$img", "$uniq");

< Сильный > Это :

rename("$img", $path.$uniq);

PHP-код .

$path = "../b-300x250/";
$items = glob($path . '*.jpg');
foreach ($items as $img)
{
    $uniq = uniqid() . '.jpg';
    rename("$img", $path.$uniq);
}
1
Sahil Gulati 24 Апр 2017 в 05:42
43580513