2016-05-05 8 views
-2

Я пытался переименовать все файлы (изображения) в папке на моем веб-сайте, но это не сработает. файлы не переименовываются.переименовать все файлы в папке

У меня есть поле ввода для 'name', я хочу использовать это имя, добавить uniqid и переименовать все файлы. вот код, который я использую:

<?php 
if(isset($_POST['submit2'])){ 
$name = $_POST['name']; 
$directory = glob("../basic_images/*.*"); 
{ 
if ($file != "." && $file != "..") { 

    $newName = uniqid().$name; 

    rename($directory.$file, $directory.$newName); 
}}} 
?> 

кроме того, мне действительно нужно, чтобы _POST имя переменной $?

P.S. Я хочу переименовать все файлы, а затем скопировать их в другую папку.

+1

«Не похоже, чтобы это работало» не является хорошим описанием проблемы. Пожалуйста, уточните ошибки или проблемы, с которыми вы сталкиваетесь. – Thernys

+2

Вы не определяете '$ file'. –

+1

http://php.net/manual/en/function.glob.php –

ответ

0

Вам не нужно POST name

glob это вернет вам каждые файлы в папке с пути // Пример /basic_images/test.jpg

тогда вы просто делаете foreach в цикле над файлами, и обновить его имя.

$path = "../basic_images/"; 
$directory = glob($path,"*.*"); 
foreach($directory as $file){ 
    $ext = pathinfo($file, PATHINFO_EXTENSION); 
    $newName = uniqid().$ext; 
    rename($file, $path.$newName); 
} 

подробнее о glob: http://php.net/manual/en/function.glob.php

0

так, я, наконец, решить эту проблему. теперь вместо того, чтобы переименовывать исходные файлы и копировать их в другую папку, я просто создаю новые копии файлов с новыми именами.

Это код окончательный код, который работает для меня:

if(isset($_POST['submit'])){ 

$path = "../posts_images/"; 
$files = glob("../basic_images/*.*"); 
foreach($files as $file){ 
    $ext = pathinfo($file, PATHINFO_EXTENSION); 
    $name = $_POST['new_name']; 
    $pic = uniqid().$name; 
    $newName = $pic.'.'.$ext; 
    copy($file, $path.$newName); 

}} 

важно использовать $pic.'.'.$ext, потому что без него новые файлы не имеют расширение.

Смежные вопросы