نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: شناسایی فایل های تکراری با هش فایل

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو انجمن omid1991 آواتار ها
    تاریخ عضویت
    Jun 2013
    محل سکونت
    نمین
    نوشته ها
    217
    تشکر تشکر کرده 
    412
    تشکر تشکر شده 
    495
    تشکر شده در
    284 پست

    پیش فرض شناسایی فایل های تکراری با هش فایل

    درود و عرض ادب خدمت بازدیدکنندگان گرامی

    تا حالا فکر کردین تلگرام و یا سایر شبکه های اجتماعی چطوری از آپلود فایل تکراری جلوگیری میکنند ؟
    اول میان هش فایل رو میگیرن و تو دیتابیس بهمراه اسم ذخیره و فایل رو آپلود میکنند
    بعد کاربر دوم اگه خواست همون فایل رو آپلود کنه سیستم
    هش فایل رو تو دیتابیس جستجو میکنه و اگه وجود داشته باشه فایل رو تو سرور آپلود نمیکنه
    فقط یه اینسرت میزنه تو دیتابیس و یه ای دی جدید میده به کاربر میگه بیا اینم فایلت آپلود شد.

    به همین راحتی

    یه توضیح کوچوکو هم درمورد هش فایل
    هش فایل داده های داخل فایل رو رمزنگاری میکنه و یه کد میده پس با تغییر نام یا تغییر پسوند فایل ، هش فایل تغییر نمیکنه

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

    استفاده کنندگان محترم لطفا توجه داشته باشید این آموزش بصورت اختصاصی توسط بنده حقیر (امید آران)
    کد نویسی شده و برای اولین بار در سطح نت بصورت رایگان منتشر میشه
    پس خواهشا منبع آموزش رو در صورت انتشار قید کنید.

    کد HTML:
    منبع : <a target='_blank' href='https://omidtak.ir/post/33'>شناسایی فایل های تکراری با هش فایل</a>


    اینم کد
    کد PHP:

    $sd
    =[];
    $dir dirname(__FILE__);
    $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir),RecursiveIteratorIterator::LEAVES_ONLY);
    foreach(
    $files as $name=>$file)
    {   
        if(!
    $file->isDir())  
        {        
            
    $filePath $file->getRealPath();        
            
    $md5File md5_file($filePath);        
            
    $sd[$md5File]['duplicate'][] = ['filePath'=>str_replace($dir,'',$filePath),'fileMTime'=>date('Y-m-d H:i:s'$file->getMTime())];        
        }
    }
    $sd array_filter($sd, function($c){return count($c['duplicate'])>1;}); 
    echo 
    '<pre>';
    print_r($sd);
    /*
    اینم نمونه خروجی

    Array
    (
        [54ac52e4d89fc97a13b06b8e8655abc9] => Array
            (
                [duplicate] => Array
                    (
                        [0] => Array
                            (
                                [filePath] => \dashboard\docs\images\backup-restore-mysql\image10.png
                                [fileMTime] => 2018-05-10 16:48:51
                            )

                        [1] => Array
                            (
                                [filePath] => \dashboard\docs\images\backup-restore-mysql\image14.png
                                [fileMTime] => 2018-05-10 16:48:51
                            )

                    )

            )
    )
    */ 




  2. تعداد تشکر ها ازomid1991 به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 2
    آخرين نوشته: June 13th, 2019, 18:44
  2. پاسخ ها: 0
    آخرين نوشته: June 21st, 2017, 17:51
  3. پاسخ ها: 2
    آخرين نوشته: April 17th, 2017, 17:29
  4. پاسخ ها: 2
    آخرين نوشته: January 30th, 2017, 12:33
  5. پاسخ ها: 10
    آخرين نوشته: December 10th, 2014, 12:31

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •