Официальный сайт студ.городка НГТУ
Программирование и БД » [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :) 

#1  02.10.07 13:39

[ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

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

Код: php:

foreach($_FILES['Filedata'] as $temp) 
        {
	$fileObject[$k] = $temp;
        $image_name = $fileObject['name'];
	$uploadfile = '../file/'.$image_name;
        move_uploaded_file($filename, $uploadfile);
        }

и всё бы ничего,но файлы нада ложить в одну папку,и есть такая возможность, что имена файлов пользователей могут совпасть и решил сделать так:
$image_name = time(). выдернутое-расширение-файла;
но после этого из допустим 8 файлов начали загружаться 1 и иногда 3 файла,потому что ,как мне кажется, файлы грузятся моментально ,что time() не успевает измениться ажна :) и поэтому заливается только один файл,затерев все остальные.
Какую констуркцию можно применить для генерации имён файлов?
*решение с помощью проверки на уже существование имени файла в директории и его заменой оставил на потом.

Исправлено iDrum (02.10.07 13:40)

Offline

#2  02.10.07 13:47

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

microtime()?

Offline

#3  02.10.07 14:02

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

ну врпинципе да :)

Offline

#4  02.10.07 14:49

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

давай в очереди уникальный номер/порядковый Ж-).  уж в форе то они точно не пересекустя, а там хоть прописывай через _ хотя мудри как хочешь Ж-).
интересно время втаймстам может пересеся Ж-)

Исправлено Stell Hawk (02.10.07 14:52)

Offline

#5  02.10.07 20:03

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

извините я сам не курю.....

Offline

#6  03.10.07 00:28

Maq
Профиль

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

Код: php:

function random_string($len) {
    $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
 
    $string = '';
    for ($i = 0; $i < $len; ++ $i)
        $string .= substr($chars, (mt_rand() % strlen($chars)), 1);
 
    return $string;
}

заюзай подобное и не будет проблем))

Offline

#7  03.10.07 11:30

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

а не проще ли брать текущее имя, делать конкатенацию со строкой microtime и загонять всё в MD5, тогда 100% имена будуд уникальные

Offline

#8  03.10.07 12:19

Maq
Профиль

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

A-Lex, тогда уж рандом проще))

Offline

#9  03.10.07 15:56

$up
Профиль

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

GUIDы генери com_create_guid 8)

Offline

#10  03.10.07 16:24

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

$up, фигасе ты остряк какой

Offline

#11  03.10.07 16:56

$up
Профиль

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

Код::

<?php
function guid(){
   if (function_exists('com_create_guid')){
       return com_create_guid();
   }else{
       mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
       $charid = strtoupper(md5(uniqid(rand(), true)));
       $hyphen = chr(45);// "-"
       $uuid = chr(123)// "{"
               .substr($charid, 0, 8).$hyphen
               .substr($charid, 8, 4).$hyphen
               .substr($charid,12, 4).$hyphen
               .substr($charid,16, 4).$hyphen
               .substr($charid,20,12)
               .chr(125);// "}"
       return $uuid;
   }
}
echo guid();
?>

да нет, я реально предлагаю 8)

Offline

#12  04.10.07 03:02

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

ххе....
а тупо time().$image_name не проканает?
не думаю, что одновременно будут скидываться 2 файла с одинаковыми именами )

Offline

#13  04.10.07 08:17

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

watson написал(а):

одновременно будут скидываться 2 файла с одинаковыми именами )

вполне возможно с помощью FancyUpload

Исправлено iDrum (04.10.07 14:24)

Offline

#14  04.10.07 11:45

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

SELECT newid()

Offline

#15  04.10.07 11:59

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

не хочу я бд дёргать лишний раз

Offline

#16  04.10.07 12:03

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

ну и дураГ )

Offline

#17  04.10.07 14:19

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

Идрум я тобой поражаюсь .. даже в ответ ничего не написал )) Поумнел чтоль? )) Взрослым стал? ))))
Прям уважение к себе пробудил епт )

Offline

#18  04.10.07 16:57

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

storm, я не сру на программинге просто )))

Offline

#19  11.10.07 13:06

Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)

Укроп написал(а):

Evgeny написал(а):

microtime()?

илил mktemp

Это не я бляяя...

Offline

Программирование и БД » [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :) 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 4.516 сек.
Выполнено 11 запросов.