PDA

View Full Version : سوال: آپلود فایل با نام غیر تکرار



ehsan_savadkohi
دوشنبه 10 تیر 1392, 11:30 صبح
سلام دوستان...
چطور میتونم فایلی را آپلود کنم. در صورتی که نامش تکراری نباشه.

نحوه نوشتن کد را واسم بزارید ممنون میشم.

arta.nasiri
دوشنبه 10 تیر 1392, 16:04 عصر
سلام

توابع زیادی برای ایجاد رشته های تصادفی وجود داره که هم تو این سایت و هم سایت های دیگه قبلا معرفی شده. الگوریتم هایی هم هست که مقادیر غیر تکراری برمیگردونن، با یک جستجوی ساده میتونید نتایج خوبی بدست بیارید.

در ساده ترین حالت وقتی کاربر فایلی آپلود میکند شما اسم فایل رو بگیرید و به الگوریتم md5 ارسال کنید، رشته خروجی از md5 رو با دستور file_exists در مسیر مورد نظر بررسی کنید اگه همچین فایلی وجود نداشت اجازه بدید فایل آپلود بشه در غیر اینصورت به آخر رشته خروجی مقداری اضافه کنید تا به یک رشته غیر تکراری برسید.

mahmod2000
دوشنبه 10 تیر 1392, 20:14 عصر
میتونید از اعداد time یا Rand() هم استفاده کنید
که به ابتدا یا انتهای اسم فایل اضافه میکنید

Javidhb
دوشنبه 10 تیر 1392, 20:50 عصر
برای بررسی تکراری بودن یک فایل:
1. ()file_exists (http://php.net/manual/en/function.file-exists.php)


<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>


2. ()scandir (http://www.php.net/manual/en/function.scandir.php)
i. فایلهای یک فولدر رو درون یک آرایه ذخیره میکنید.
ii. با استفاده از unset دو مقدار ابتدایی آرایه رو پاک میکنی(اختیاری)
iii. کافیه با in_array چک کنید که نام فایلی که قراره آپلود بشه توی آرایه (شامل اسم فایلها) هست یا نه.

ravand
سه شنبه 11 تیر 1392, 07:46 صبح
میتونی از شماره ی هر رکورد هم استفاده کنی. و شرط بذاری بگی اگر مقداری در فیلد نیست عدد یک و در صورتی که وجود دارد به جای نام فایل قرار بدی.