-
December 8th, 2016, 20:19
#11
عضو دائم
پاسخ : سوال php | نام گذاری فایل آپلود شده

نوشته اصلی توسط
samanmo
سلام ، ممنونم
ببینید میخوام در هربار اجرای اسکریپت واترمارک یک نام تولید بشه ، به کد زیر دقت کنید
متغییر myfile در خط شش و هفت اومده . در خط شش نتیجه 443344 در خط هفت نتیجه 1223332
درحالیکه من میخوام یکسان باشن .
کد PHP:
$sa = date('H');
$da = date('i');
$date = date('Y-m-d-h');
$hasel = $sa * $da;
$myfile = $date . $hasel . '.mp4';
watermark('dastorat darj watermark ' . $myfile);
echo $myfile;
بیشتر به نظر میرسه تابع watermark شما متغیر رو ادیت کنه یا اینکه اسکریپت به نحوی دوبار اجرا میشه چون در غیر این صورت چنین چیزی امکان پذیر نیست !
مقدار $myfile رو ثابت بزارید و ببینید چی echo میشه
کد PHP:
$myfile = 'test.mp4';
-
-
December 8th, 2016 20:19
# ADS
-
December 8th, 2016, 21:22
#12
پاسخ : سوال php | نام گذاری فایل آپلود شده

نوشته اصلی توسط
samanmo
سلام ، ممنونم
ببینید میخوام در هربار اجرای اسکریپت واترمارک یک نام تولید بشه ، به کد زیر دقت کنید
متغییر myfile در خط شش و هفت اومده . در خط شش نتیجه 443344 در خط هفت نتیجه 1223332
درحالیکه من میخوام یکسان باشن .
کد PHP:
$sa = date('H');
$da = date('i');
$date = date('Y-m-d-h');
$hasel = $sa * $da;
$myfile = $date . $hasel . '.mp4';
watermark('dastorat darj watermark ' . $myfile);
echo $myfile;
سلام
شما همانطور که گفتم قبل از اینکه اصلا چیزی اپلود بشه
یک کوکی ست کنید یا یک سیشن
و درونش نامی که میخواید قرار بدید رو قرار بدید
زمانی که میخواد نام گذاری بشه فایل
به این شکل میشه کد شما
کد PHP:
$myfile = $_SESSION['اسم سیشن نام گذاری شده'].'.mp4';
watermark('dastorat darj watermark ' . $myfile);
echo $myfile;
-
-
December 8th, 2016, 21:31
#13
عضو انجمن
پاسخ : سوال php | نام گذاری فایل آپلود شده
بنظرم یه قسمت از کد نزاشتین
میخواید برای نام فایل اپلودی یه اسم بزاردی غیرتکرای!
بهترنی کار اینه که اول یه متقیر تعریف کنید به این صورت
کد PHP:
$file_name = time().''.rand(100,999);
بعدش اپلود کنید و اسم فایلتون رو این متقیر بزارید
اینجوری هربار که اپلود کنید یه اسم منحصربه فرد دارید
-
-
December 8th, 2016, 22:04
#14
عضو انجمن
پاسخ : سوال php | نام گذاری فایل آپلود شده
دوستانی که رندم رو پیشنهاد میکنن باید بگم rand بر اساس microtime کار میکنه
microtime کاملتره و بجای دوتا تابع از یه تابع استفاده میشه
دوست عزیز شمام کدی که گذاشتید احتمالا یا همه کد نیست یا پشت پرده متغیرتون داره عوض میشه میتونید از متغیر های ثابت استفاده کنید از دستورات define استفاده کنید و تو اونا ذخیرع کنین عددو تا تغییر نکنه
اینم آموزشش
http://www.w3schools.com/php/func_misc_define.asp
-
-
December 8th, 2016, 22:09
#15
عضو جدید
پاسخ : سوال php | نام گذاری فایل آپلود شده

نوشته اصلی توسط
k-pax
بنظرم یه قسمت از کد نزاشتین
میخواید برای نام فایل اپلودی یه اسم بزاردی غیرتکرای!
بهترنی کار اینه که اول یه متقیر تعریف کنید به این صورت
کد PHP:
$file_name = time().''.rand(100,999);
بعدش اپلود کنید و اسم فایلتون رو این متقیر بزارید
اینجوری هربار که اپلود کنید یه اسم منحصربه فرد دارید
بله ، این اولین راهی بود که رفتم . الآن همین دو تابع که شما ریختید در یک متغییر . خب حالا $file_name رو باید بذارم نام فایل و همینطور اکو کنم که کاربر نام فایل آپلود شدش رو ببینه ، درسته؟
نتیجه یکسان نیست. یعنی اسم فایل آپلود شده با اسم فایل اکو شده برای کاربر فرق داره
ز خیرت خیر پیش آید، بکن چندانکه بتوانی
مکافات بدی کردن، نمیگویم تو خود دانی
-
-
December 8th, 2016, 22:19
#16
عضو دائم
پاسخ : سوال php | نام گذاری فایل آپلود شده

نوشته اصلی توسط
miladtnt
دوستانی که رندم رو پیشنهاد میکنن باید بگم rand بر اساس microtime کار میکنه
microtime کاملتره و بجای دوتا تابع از یه تابع استفاده میشه
دوست عزیز شمام کدی که گذاشتید احتمالا یا همه کد نیست یا پشت پرده متغیرتون داره عوض میشه میتونید از متغیر های ثابت استفاده کنید از دستورات define استفاده کنید و تو اونا ذخیرع کنین عددو تا تغییر نکنه
اینم آموزشش
http://www.w3schools.com/php/func_misc_define.asp
فرمایش شما صحیح هست. استفاده از یک تابع مزیتش سرعت بالاتر هست که خیلی مهم نیست در اینجا
اما استفاده از دو تابع باعث میشه که خروجی لزوما unixtimestamp نباشه و مقدار کمی ( کمی ) امنیت بیشتر بشه. البته اگر بحث امنیت باشه هیچ کدوم از این توابع امنیت کاملی ندارند و تضمین منحصر به فرد بودن رشته رو نمیدند و باید از روش های پیچیده تری استفاده کنیم
-
-
December 8th, 2016, 22:29
#17
عضو انجمن
پاسخ : سوال php | نام گذاری فایل آپلود شده
درود
اگه هدفتون این هست که هر بار فایل آپلود میکنید یک نام رندوم بگیره و موقع آپلود اگه در 1 ثانیه چند کاربر در حال آپلود هستند اختلالی در نام پیش نیاد بهتره اسم اصلی فایل رو با time ترکیب کنید و بصورت md5 کد کنید
مثلاً اگه اسم فایل milad.mp4 هست از کد زیر استفاده کنید :
rename.php
-