سلام
شما همانطور که گفتم قبل از اینکه اصلا چیزی اپلود بشه
یک کوکی ست کنید یا یک سیشن
و درونش نامی که میخواید قرار بدید رو قرار بدید
زمانی که میخواد نام گذاری بشه فایل
به این شکل میشه کد شما
کد PHP:$myfile = $_SESSION['اسم سیشن نام گذاری شده'].'.mp4';
watermark('dastorat darj watermark ' . $myfile);
echo $myfile;
بنظرم یه قسمت از کد نزاشتین
میخواید برای نام فایل اپلودی یه اسم بزاردی غیرتکرای!
بهترنی کار اینه که اول یه متقیر تعریف کنید به این صورت
بعدش اپلود کنید و اسم فایلتون رو این متقیر بزاریدکد PHP:$file_name = time().''.rand(100,999);
اینجوری هربار که اپلود کنید یه اسم منحصربه فرد دارید
ز خیرت خیر پیش آید، بکن چندانکه بتوانی
مکافات بدی کردن، نمیگویم تو خود دانی
دوستانی که رندم رو پیشنهاد میکنن باید بگم rand بر اساس microtime کار میکنه![]()
microtime کاملتره و بجای دوتا تابع از یه تابع استفاده میشه
دوست عزیز شمام کدی که گذاشتید احتمالا یا همه کد نیست یا پشت پرده متغیرتون داره عوض میشه میتونید از متغیر های ثابت استفاده کنید از دستورات define استفاده کنید و تو اونا ذخیرع کنین عددو تا تغییر نکنه
اینم آموزشش
http://www.w3schools.com/php/func_misc_define.asp
فرمایش شما صحیح هست. استفاده از یک تابع مزیتش سرعت بالاتر هست که خیلی مهم نیست در اینجا
اما استفاده از دو تابع باعث میشه که خروجی لزوما unixtimestamp نباشه و مقدار کمی ( کمی ) امنیت بیشتر بشه. البته اگر بحث امنیت باشه هیچ کدوم از این توابع امنیت کاملی ندارند و تضمین منحصر به فرد بودن رشته رو نمیدند و باید از روش های پیچیده تری استفاده کنیم
درود
اگه هدفتون این هست که هر بار فایل آپلود میکنید یک نام رندوم بگیره و موقع آپلود اگه در 1 ثانیه چند کاربر در حال آپلود هستند اختلالی در نام پیش نیاد بهتره اسم اصلی فایل رو با time ترکیب کنید و بصورت md5 کد کنید
مثلاً اگه اسم فایل milad.mp4 هست از کد زیر استفاده کنید :
rename.php
Contact Me >> Mobile : 09304443004 | Telegram ID : @miladworkshop | Email : info@miladworkshop.ir
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)