Forum Webscript.Ru

Программирование => PHP => Тема начата: Yourock от 04 Сентября 2005, 01:17:08

Название: Автопереименование апложенных файлов
Отправлено: Yourock от 04 Сентября 2005, 01:17:08
Народ, выручайте! Целый день сижу над такой проблемой:
не могу нормально загрузить и переименовать файл...
Есть форма загрузки фотографий. Допустим, что локальное имя файла - blablabla.jpg
Информация о фотках хранится в БД. ID для фоток генерится автоматически.
Допустим, что ID очередной загружаемой фотки стал равен 38.
Суть проблемы в том, что не получается переименовать blablabla.jpg в 38.jpg
После ввода данных в БД делаю апдейт для переименования имени файла по mysql_insert_id().
А вот с переименованием самого файла запарился...
Название: Автопереименование апложенных файлов
Отправлено: Меняздесьдавнонет от 04 Сентября 2005, 08:31:38
И что именно у тебя не получается?
и зачем делать какие-то апдейты, если всё делается сразу при загрузке?
Название: Автопереименование апложенных файлов
Отправлено: Greg от 04 Сентября 2005, 13:34:37
rename($oldfile, $newfile);

$oldfile можно получить из $HTTP_POST_FILES[]
Название: Автопереименование апложенных файлов
Отправлено: Меняздесьдавнонет от 04 Сентября 2005, 13:52:10
Цитировать
Greg:
$oldfile можно получить из $HTTP_POST_FILES[]

а не подскажешь - ЗАЧЕМ?
Название: Автопереименование апложенных файлов
Отправлено: Greg от 04 Сентября 2005, 14:15:39
Цитировать
а не подскажешь - ЗАЧЕМ?
просто так... :)

что тогда перименовывать-то?
Название: Автопереименование апложенных файлов
Отправлено: Меняздесьдавнонет от 04 Сентября 2005, 14:16:41
вот именно.
этот вопрос я и задал автору.
теперь жду ответа.
Название: Автопереименование апложенных файлов
Отправлено: AlieN от 04 Сентября 2005, 20:08:46
Допустим у тебя такая вот форма






То такую вот штуку делать нада:

$id=mysql_insert_id();
if(is_uploaded_file($blabla)){
move_uploaded_file($blabla,"path_to_porno_images/$id-big.jpg");
}
Название: Автопереименование апложенных файлов
Отправлено: Yourock от 04 Сентября 2005, 21:11:26
Да. Именно так и делаю. Только попробуйте сделать на своем локалхосте следующие манипуляции:
загрузка фотографии с именем blablabla.jpg в папку photos/ с именем 38.jpg (38 - это автоматически генерируемый ID фотографии). То есть фото должно лежать по адресу photos/38.jpg При этом в базе должно быть прописано имя файла (у меня это строка filename) как 38.jpg (ну и ID соответственно равное 38)

P.S. Аплод делаю так:
mysql_query("UPDATE photos SET filename=\\"".mysql_insert_id().".jpg\\" WHERE id=".mysql_insert_id()."") or die(mysql_error());
Название: Автопереименование апложенных файлов
Отправлено: AlieN от 04 Сентября 2005, 22:59:19
Yourock
А зачем вообще в базу дописывать расширение?:)

По-поему на выводе одного ID хватит ;)
Название: Автопереименование апложенных файлов
Отправлено: Yourock от 05 Сентября 2005, 00:03:27
AlieN
1) по поводу mysql_insert_id:
Все бы хорошо, да вот только проверка аплодинга проходит ДО того, как инфа заносится в БД и появляется тот самый ID, вытекающий в mysql_insert_id :)

2) по поводу "просто ID":
Конечно можно по ID определять имя файла. Суть даже не в этом. В базу-то filename вносится...
НЕ МОГУ ПЕРЕИМЕНОВАТЬ загруженный файл. Вот в чем косяк...
Название: Автопереименование апложенных файлов
Отправлено: Yourock от 05 Сентября 2005, 00:11:42
Всем спасибо за обсуждение (особенно AlieN\'у - натолкнул на мысль).
Решение найдено. Тему можно закрывать.
Название: Автопереименование апложенных файлов
Отправлено: Меняздесьдавнонет от 05 Сентября 2005, 01:24:55
ну наконец-то.