#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
#4 02.10.07 14:49
Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)
давай в очереди уникальный номер/порядковый Ж-). уж в форе то они точно не пересекустя, а там хоть прописывай через _ хотя мудри как хочешь Ж-).
интересно время втаймстам может пересеся Ж-)
Исправлено Stell Hawk (02.10.07 14:52)
Offline
#6 03.10.07 00:28
Re: [ajax+php] Асинхронная загрузка файлов на сервер.Чёто шибка быстро :)
Offline
#10 03.10.07 16:24
#11 03.10.07 16:56
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

