Forum Webscript.Ru
Программирование => PHP => Тема начата: Yourock от 04 Сентября 2005, 01:17:08
-
Народ, выручайте! Целый день сижу над такой проблемой:
не могу нормально загрузить и переименовать файл...
Есть форма загрузки фотографий. Допустим, что локальное имя файла - blablabla.jpg
Информация о фотках хранится в БД. ID для фоток генерится автоматически.
Допустим, что ID очередной загружаемой фотки стал равен 38.
Суть проблемы в том, что не получается переименовать blablabla.jpg в 38.jpg
После ввода данных в БД делаю апдейт для переименования имени файла по mysql_insert_id().
А вот с переименованием самого файла запарился...
-
И что именно у тебя не получается?
и зачем делать какие-то апдейты, если всё делается сразу при загрузке?
-
rename($oldfile, $newfile);
$oldfile можно получить из $HTTP_POST_FILES[]
-
Greg:
$oldfile можно получить из $HTTP_POST_FILES[]
а не подскажешь - ЗАЧЕМ?
-
а не подскажешь - ЗАЧЕМ?
просто так... :)
что тогда перименовывать-то?
-
вот именно.
этот вопрос я и задал автору.
теперь жду ответа.
-
Допустим у тебя такая вот форма
То такую вот штуку делать нада:
$id=mysql_insert_id();
if(is_uploaded_file($blabla)){
move_uploaded_file($blabla,"path_to_porno_images/$id-big.jpg");
}
-
Да. Именно так и делаю. Только попробуйте сделать на своем локалхосте следующие манипуляции:
загрузка фотографии с именем 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());
-
Yourock
А зачем вообще в базу дописывать расширение?:)
По-поему на выводе одного ID хватит ;)
-
AlieN
1) по поводу mysql_insert_id:
Все бы хорошо, да вот только проверка аплодинга проходит ДО того, как инфа заносится в БД и появляется тот самый ID, вытекающий в mysql_insert_id :)
2) по поводу "просто ID":
Конечно можно по ID определять имя файла. Суть даже не в этом. В базу-то filename вносится...
НЕ МОГУ ПЕРЕИМЕНОВАТЬ загруженный файл. Вот в чем косяк...
-
Всем спасибо за обсуждение (особенно AlieN\'у - натолкнул на мысль).
Решение найдено. Тему можно закрывать.
-
ну наконец-то.