Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Переименование а после загрузки на сервер
Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013
Помог: 0 раз(а)
Всем приветы!
Друзья подскажите пожалуйста, есть неплохой скрипт мульти загрузки файлов, нужно после копирования на сервер их каждый переименовать, кто может, гляньте где ошибка, т.к. переименовывает только 1 файл, хотя в цикле все вроде ок. Заранее всем спасибо!!!
Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011 Откуда: Пружаны Бресткая обл. Беларусь
Помог: 2 раз(а)
быстрым взглядом...
$max=6 - так полагаю максимальное число файлов, нет это длина строки, а переименовывает - потому что строка сформировалась один раз и получается что все файлы переименовывает в это имя.
попробуйте $rstring = RString(); переместить внутрь последнего foreach, тогда строка будет каждый раз генериться в цикле.
гдето было такое...
попробуйте так:
$newFileName - глобал, (например для дуступа вне функции для вставки в бд) както опрелите уник. имя для данной загрузки или сгенерьте
$newFileName = RString();
$maxfile - максимальное колво файлов (ограничте в скрипте, вдруг кто 100500файлов отправит, или подсчитайте count)
$prichina='Произошла ошибка при перемещении файла в папку.'.$url;
returnfalse;
}
//----код, ватемарк всякий...
}
может подойдет или на мысль натолкнет.
Sail
Отправлено: 01 Июля, 2015 - 15:05:48
Участник
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
alexpebody, почитайте описание функции rename и посмотрите, что Вы ей скармливаете...
alexpebody
Отправлено: 01 Июля, 2015 - 16:50:29
Новичок
Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013
Помог: 0 раз(а)
broshurkaplus спасибо большое за ответ, а нельзя как то в цикле как у меня сделать переименование, чтобы не писать кучу кода? Я имею ввиду, как сделать в цикле foreach чтобы переименовывал каждый файл загруженный на хост? Я пробовал в цикле после самой загрузки, но это неверно, т.к. цикл не успевает за тем, как файлы переместятся из темпа в каталог и показывает ошибку об отсутствии файлов, а если ниже, переименовывает но только 1й файл... Цикл неверен.
быстрым взглядом...
$max=6 - так полагаю максимальное число файлов, нет это длина строки, а переименовывает - потому что строка сформировалась один раз и получается что все файлы переименовывает в это имя.
попробуйте $rstring = RString(); переместить внутрь последнего foreach, тогда строка будет каждый раз генериться в цикле.
гдето было такое...
попробуйте так:
$newFileName - глобал, (например для дуступа вне функции для вставки в бд) както опрелите уник. имя для данной загрузки или сгенерьте
$newFileName = RString();
$maxfile - максимальное колво файлов (ограничте в скрипте, вдруг кто 100500файлов отправит, или подсчитайте count)
$max=6 - это 6 символов генерится в рандоме для нового имени. А куда именно переместить в foreach, я так понмиаю не переименовывает все файлы тк не получает, а точнее получает не те сведения и работает не в том цикле.
Sail спасибо за ответ, да вроде читал, а что не так? Можете примерчик привести, если не сложно подскажите верный цикл для этой задачи? Спасибо!
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.