/
  • راهنمایی در خصوص تغییرنام فایل آپلود شده

  • صفحه‌ها (2):
  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی راهنمایی در خصوص تغییرنام فایل آپلود شده
    نویسنده پیام
    samanfc20 آفلاین
    تحریم شده

    ارسال‌ها: 160
    تاریخ عضویت: ۱۳۹۴ بهمن ۳۰
    تشکرها : 4
    ( 2 تشکر در 2 ارسال )
    ارسال: #1
    راهنمایی در خصوص تغییرنام فایل آپلود شده
    با سلام:

    دوستان عزیز من میخوام واسه این تابع دستوری نوشته بشه تا یه نام رندوم برای فایل انتخاب بشه.

    کد من اینه:
    کد PHP:
    $file_name =$_FILES['UploadedFile']['name'];
    $target_path "uploads/".$file_name;
    $file_name2 "template/uploads/".$file_name;

    if(
    move_uploaded_file($_FILES['UploadedFile']['tmp_name'], $target_path)) {

    echo 
    "فایل "$file_name ." با موفقیت آپلود شد";}

    else {

    echo 
    "متاسفانه مشکلی در حین عملیات آپلود رخ داد،لطفا مجددا امتحان کنید";} 

    مثلا میخوام بجای اینکه با اسم examp.jpg آپلود بشه،با کد 6522354.jpg آپلود بشه

    هر استادی که بلده برام ویرایش کنه-با عرض سپاس
    ۱۳۹۵ تير ۲ ۰۳:۲۸ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    kasbookar آفلاین
    **(فرشاد انگوتی)**
    ****

    ارسال‌ها: 525
    تاریخ عضویت: ۱۳۹۳ دي ۲۳
    اعتبار: 17
    تشکرها : 258
    ( 169 تشکر در 128 ارسال )
    ارسال: #2
    RE: راهنمایی در خصوص تغییرنام فایل آپلود شده
    اول اسم فایلو با تابع eplode کن اینجا باید با . اینکارو انجام بدی بعد بجای نام فایل نام دلخواه یا رندوم بذا مثلا
    کد PHP:
    $newfilename rand(1,99999) . '.' end(explode("."$_FILES["image_file"]["name"])); 
    __________________________________________________________________________

    ۱۳۹۵ تير ۲ ۰۳:۵۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    samanfc20 آفلاین
    تحریم شده

    ارسال‌ها: 160
    تاریخ عضویت: ۱۳۹۴ بهمن ۳۰
    تشکرها : 4
    ( 2 تشکر در 2 ارسال )
    ارسال: #3
    RE: راهنمایی در خصوص تغییرنام فایل آپلود شده
    (۱۳۹۵ تير ۲ ۰۳:۵۳ عصر)kasbookar نوشته شده توسط:  اول اسم فایلو با تابع explode کن اینجا باید با . اینکارو انجام بدی بعد بجای نام فایل نام دلخواه یا رندوم بذا مثلا
    کد PHP:
    $newfilename rand(1,99999) . '.' end(explode("."$_FILES["image_file"]["name"])); 

    اگه امکانش هست خودتون انجام بدید-متوجه نشدم
    ۱۳۹۵ تير ۲ ۰۳:۵۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    kasbookar آفلاین
    **(فرشاد انگوتی)**
    ****

    ارسال‌ها: 525
    تاریخ عضویت: ۱۳۹۳ دي ۲۳
    اعتبار: 17
    تشکرها : 258
    ( 169 تشکر در 128 ارسال )
    ارسال: #4
    RE: راهنمایی در خصوص تغییرنام فایل آپلود شده
    سخت نیستا چرا الکی خودتون گول میزنید از اشتباه نوشتن نترسید همین اشتباهات شمارو جلو میبره در غیر این صورت پیشرفت نمیکنید
    کد PHP:
    $file_name rand(1,99999) . '.' end(explode("."$_FILES["UploadedFile"]["name"])); 
    $target_path "uploads/".$file_name;
    $file_name2 "template/uploads/".$file_name;

    if(
    move_uploaded_file($_FILES['UploadedFile']['tmp_name'], $target_path)) {

    echo 
    "فایل "$file_name ." با موفقیت آپلود شد";}

    else {

    echo 
    "متاسفانه مشکلی در حین عملیات آپلود رخ داد،لطفا مجددا امتحان کنید";} 
    __________________________________________________________________________

    ۱۳۹۵ تير ۲ ۰۴:۰۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    samanfc20 آفلاین
    تحریم شده

    ارسال‌ها: 160
    تاریخ عضویت: ۱۳۹۴ بهمن ۳۰
    تشکرها : 4
    ( 2 تشکر در 2 ارسال )
    ارسال: #5
    RE: راهنمایی در خصوص تغییرنام فایل آپلود شده
    ممنون برادر-پیدا کردمش-دستت درد نکنه.موفق باشید

    کد PHP:
    $newfilename rand(1,99999) . '.' end(explode("."$_FILES["UploadedFile"]["name"])); 
    $file_name =$_FILES['UploadedFile']['name'];
    $target_path "uploads/".$newfilename;
    $file_name2 "template/uploads/".$newfilename;

    if(
    move_uploaded_file($_FILES['UploadedFile']['tmp_name'], $target_path)) {

    echo 
    "فایل "$newfilename ." با موفقیت آپلود شد";}

    else {

    echo 
    "متاسفانه مشکلی در حین عملیات آپلود رخ داد،لطفا مجددا امتحان کنید";} 

    اینه جوابش-ممنون
    (آخرین ویرایش در این ارسال: ۱۳۹۵ تير ۲ ۰۴:۰۵ عصر، توسط samanfc20.)
    ۱۳۹۵ تير ۲ ۰۴:۰۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    ebibombas1988 آفلاین
    عضو جدید
    **

    ارسال‌ها: 20
    تاریخ عضویت: ۱۳۹۴ دي ۲۹
    اعتبار: 0
    تشکرها : 0
    ( 5 تشکر در 5 ارسال )
    ارسال: #6
    RE: راهنمایی در خصوص تغییرنام فایل آپلود شده
    البته کدهایی هم باید بهش اضافه بشه تا در صورتی که به صورت رندوم یه فایل جدید با یه نام تصادفی درست بشه که این نام قبلا در پوشه موجود باشه به جای فایل هم نام قبلی جایگزین نشه
    ۱۳۹۵ تير ۳ ۱۲:۱۲ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : mohammadhosain
    mohammadhosain آفلاین
    محمد حسین
    ***

    ارسال‌ها: 217
    تاریخ عضویت: ۱۳۹۱ شهريور ۱۵
    اعتبار: 16
    تشکرها : 85
    ( 135 تشکر در 92 ارسال )
    ارسال: #7
    RE: راهنمایی در خصوص تغییرنام فایل آپلود شده
    .همون طور که دوستمون گفتن باید چک کنی که تو پوشه مورد نظر فایلی با این نام نباشه. طول رشته رندم تولید شهد هم باید طوری باشه که کمبود نام پیدا نکنی مثلا اگه اعداد 1 تا 5 رقمی تولید کنی فقط 99999 تا فایل می تونی تو پوشه خودت داشته باشی. اگه تعداد فایل هات زیاد می تونی از str_shuffle استفاده کنی که کاراکترهای رشته رو به صورت رندم کنار هم می چینه :
    کد PHP:
    <?php
    do{
        
    $newfilename str_shuffle('abcdefghijklmnopqrstuvwxyz') . '.' end(explode("."$_FILES["UploadedFile"]["name"]));
        
    $target_path "uploads/".$newfilename;
    }
    while(
    file_exists($target_path));

    if(
    move_uploaded_file($_FILES['UploadedFile']['tmp_name'], $target_path)) {

        echo 
    "فایل "$newfilename ." با موفقیت آپلود شد";}

        else {

            echo 
    "متاسفانه مشکلی در حین عملیات آپلود رخ داد،لطفا مجددا امتحان کنید";}
    ?>
    __________________________________________________________________________
    سامانه یادآوری خمس
    سایت هدیه صلوات،حاجت،آرامگاه مجازی+اپلیکشن موبایل
    سایت نظرسنجی
    https://github.com/mhfeizi
    ۱۳۹۵ تير ۳ ۰۱:۰۲ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    moh3nmir آفلاین
    محسن . م
    ***

    ارسال‌ها: 102
    تاریخ عضویت: ۱۳۹۱ تير ۲۶
    اعتبار: 0
    تشکرها : 127
    ( 11 تشکر در 9 ارسال )
    ارسال: #8
    RE: راهنمایی در خصوص تغییرنام فایل آپلود شده
    سلام
    بنظر بنده میتونی ثانیه رو دریافت کنی و به آخر فایلت اضافه کنی و اگه هم خواستی دقیقه و ثانیه رو باهم اضافه کن که دیگه مطمئن باشی فایلی مشابه ایجاد نمیشه
    ۱۳۹۵ تير ۳ ۰۹:۱۳ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    sardar1 آفلاین
    عضو جدید
    **

    ارسال‌ها: 31
    تاریخ عضویت: ۱۳۹۵ تير ۲
    اعتبار: 0
    تشکرها : 0
    ( 0 تشکر در 0 ارسال )
    ارسال: #9
    RE: راهنمایی در خصوص تغییرنام فایل آپلود شده
    بعد از اينكه بررسي كردي ارايه ي FILES خالي نيست از اين كدها استفاده كن

    کد PHP:
    $allowtype  = array("gif","png","jpg","jpeg");
            
    $explode    explode(".",$picname);
            
    $trueformat end($explode);
            if(
    $pictype=="image/gif" || $pictype=="image/png" || $pictype=="image/jpg" || $pictype=="image/jpeg")
            {
                
    $filename md5($picname.microtime()).substr($picname,-5,5);
                
    $fileurl "../../images/productimages/".$filename;[php

    allowtype: فرمت قابل قبول براي اپلود
    explode: تجزيه پسوند فايل براي بررسي فرمت
    trueformat: با استفاده از تابعend اخرين فرمت تجزيه شده را بدست مي اوريم و تو شرط if بررسي مي كنيم

    جواب سوال شما:
    filename: اينجا اسم عكس رو با تابعmd5 بصورت هش شده در مياريم و همچنين اين رشته ي هش شده رو با ميكرو تايم (اين تابع تحت هيچ شرايطي مقدار تكراري برنمي گردونه) ادغام مي كنيم و با تابع substr مشخص مي كنيم كه پسوند فايل نبايد هش بشه
    fileurl: اينم مسير دائمي براي اپلود هست مابقي كارهارو هم كه خودت بلدي مسير فايل رو بايد ذخيره كنيدر ديتابيس
    (آخرین ویرایش در این ارسال: ۱۳۹۵ تير ۳ ۰۸:۱۴ عصر، توسط sardar1.)
    ۱۳۹۵ تير ۳ ۰۸:۱۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    mohammadhosain آفلاین
    محمد حسین
    ***

    ارسال‌ها: 217
    تاریخ عضویت: ۱۳۹۱ شهريور ۱۵
    اعتبار: 16
    تشکرها : 85
    ( 135 تشکر در 92 ارسال )
    ارسال: #10
    RE: راهنمایی در خصوص تغییرنام فایل آپلود شده
    (۱۳۹۵ تير ۳ ۰۸:۱۱ عصر)sardar1 نوشته شده توسط:  جواب سوال شما:
    filename: اينجا اسم عكس رو با تابعmd5 بصورت هش شده در مياريم و همچنين اين رشته ي هش شده رو با ميكرو تايم (اين تابع تحت هيچ شرايطي مقدار تكراري برنمي گردونه) ادغام مي كنيم و با تابع substr مشخص مي كنيم كه پسوند فايل نبايد هش بشه
    .درسته که میکروتایم تکراری برنمی گردونه ولی اگه داخل md5 بذاری چون md5 یک تابع هش یک به یک نیست بالاخره احتمال تولید ایجاد هش تکراری هست. در هر صورت از هر روشی که استفاده بشه بهتره چک بشه که فایلی با همون نام تو پوشه مورد نظر نباشه.
    __________________________________________________________________________
    سامانه یادآوری خمس
    سایت هدیه صلوات،حاجت،آرامگاه مجازی+اپلیکشن موبایل
    سایت نظرسنجی
    https://github.com/mhfeizi
    ۱۳۹۵ تير ۴ ۱۲:۵۷ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

  • صفحه‌ها (2):
  • ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS