Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Загрузка файла на сервер и создание своего TEMP файла

1.9K
02 декабря 2010 года
mavneon
71 / / 23.11.2006
Пытаюсь закачать файл на сервер.
Файл создаётся в папке "TEMP" с именем типа: phpCE.tmp
Хочу сделать чтоб файл создавался в тем именем, который я сам укажу.
Пробывал по разному, но упорно создаётся файл типа phpCE.tmp...
Делаю загрузку файлов на сервер с индикатором загрузки. Средствами пхп.(perl. flash не требуется.)
Сейчас получается что одновременно пользователи смогут закачивать только один файл... :( Для этого и надо создать уникальное имя для каждого закачиваемого файла/пользователя
244
02 декабря 2010 года
UAS
2.0K / / 19.07.2006
Ваша подпись идеально подходит к сообщению.
Вообще-то загружаемые файлы всегда создаются сначала во временной папке, после чего их надо оттуда перенести функцией move_uploaded_file (вроде эта, навскиудку могу ошибиться в названии)
8
02 декабря 2010 года
mfender
3.5K / / 15.06.2005
тоже вот что-то в четвёртом чтении только стал догадываться о смысле написанного.

так в чём проблема-то, автор? PHP сам разберётся с именем файла. Тебе остаётся его только взять после загрузки (upload) и перенести/переименовать куда нужно. Залив проверяется как обычно:

 
Код:
if (move_uploaded_file(<имя_временного_файла>, <имя_конечного_файла>)){...};
Ну, разумеется, неплохо бы перед перемещением/переименованием убедиться, что в конечном пункте пока ещё нет файла с такой же фамилией. А то потом придётся долго голову ломать исконно русским вопросом, "что за беда твориться-то? что делать???"
369
02 декабря 2010 года
Kesano
451 / / 09.10.2007
Зачем придумывать велосипед???

[HTML]<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" name="submit" value="Загрузить" />
</form>[/HTML]

И обрабатываем потом:
 
Код:
if($_FILES["file"]) {
   copy($_FILES["file"]["tmp_name"], "TEMP/phpCE.tmp");
}
8
02 декабря 2010 года
mfender
3.5K / / 15.06.2005
Цитата: Kesano

 
Код:
if($_FILES["file"]) {
   copy($_FILES["file"]["tmp_name"], "TEMP/phpCE.tmp");
}



Самый дурацкий способ проверки, это проверять переменную не пойми на что. А если там всё таки не null, а просто какая-то ахинея?

И далее про copy… Ты всегда всё копируешь даже когда это вредно?

66K
03 декабря 2010 года
Carl
1 / / 03.12.2010
Цитата:
Самый дурацкий способ проверки, это проверять переменную не пойми на что



Проверка на true/false уже стала называться "не пойми на что"? Тут скорее надо в настройках апача прочекать, чтобы нужные глобалы корректно устанавливались

244
03 декабря 2010 года
UAS
2.0K / / 19.07.2006
Carl, $_FILES["file"] - это массив, а сравнивают его с bool.
"не пойми на что" - это ещё мягко сказано, а грубо сказано - это все равно что сравнивать ".опу с пальцем"
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог