آموزش اضافه کردن اسم تصادفی به اول نام فایل در آپلود سنتر

 

سلام به همه دوستان ، امیدوارم حالتون خوب باشه.

 

آموزش ساخت آپلود سنتر ساده مون رو که یادتون هست! اگه ندیدین میتونین اینجا مشاهده کنین.

بعد از دریافت کلی پیام مبنی بر اینکه به اسکریپت یه امکان اضافه بشه که اسم فایل های تکراری رو تغییر بده ،
تصمیم گرفتم به اسکریپت یه امکانی اضافه کنم که به اول فایل آپلود شده یه اسم رندم(تصادفی) اضافه بشه.

 

حاشیه : همونطور که میدونین(یا شایدم نمیدونین:D) این اسکریپت نیازی به دیتابیس نداره.


خب بریم سراغ آموزش

 

 

اگه یادتون باشه ما توی فایل up-file.php یه شرطی اضافه کرده بودیم که : اگه فایلی با اون نام در پوشه موجود بود ، خطا بده و بگو که این فایل موجوده

این خط رو میگم:

 


if (file_exists("upload/" . $file_name))
نمایش خطا
{

خب حالا اول به جای اون نمایش خطا میخوایم یه کد جدید اضافه کنیم.
اول از همه یه متغیر اضافه میکنیم که تابع رندم رو انتخاب کنه

$new_name = rand();

 

بعدش میایم میگیم که اسم فایل رو تغییر بده به : " اسم رندم + اسم فایل". بعدش بیا اون فایل رو منتقل کن به پوشه

در php برای تغییر نام فایل از rename استفاده میشه

خب کدمون این شکلی میشه (اینو زیر همون تابع رندم بنویسین)

 

@rename($file_name , $new_name .= $file_name);
move_uploaded_file($_FILES["file"]["tmp_name"] , "upload/" .$new_name);

اون علامت @ که اول rename گذاشتم برای این هست که پیام ها و خطاها رو نشون نده.

بعد از اون یه دستور else هستش ، دوباره همون کدهای بالا رو بهش اضافه کنین.

 

 

$new_name = rand();
@rename($file_name , $new_name .= $file_name);
move_uploaded_file($_FILES["file"]["tmp_name"] , "upload/" .$new_name);

یه چند تا تغییر جزئی دیگه هم باید بدین (البته این واسه اونایی هست که میخوان همون نسخه قبلی رو خودشون ویرایش کنن)

1- توی جداول که ساخته شده برای نمایش اطلاعات (پایین تر از نوشته ی "فایل پشتیانی نشد") : $file_name رو به $new_name تغییر بدین.
2- یه کم پایین تر از اون یه تگ <img> هستش . توی اینجا هم هون کارهای بالا رو انجام بدین.
3- بازم یه سطر پایین تر همون کار رو بکنین.

در ضمن به جای localhost هم آدرس سایت رو بنویسید.

 

دانلود فایل نهایی (ورژن 1.1 اسکریپت)

 

اگه وقت کردم :(  اضافه کردن یه سری امکانات دیگه هم یاد میدم