رفتن به مطلب

پست های پیشنهاد شده


سلام

من میخوام یک کد پی اچ پی رو اگه میتونید تغییر بدید.

آدرس کد :  لینک ها تنها برای اعضای سایت قابل نمایش است.

میخوام اگه میشه وقتی نام فایل آپلود شده درون پوشه باشه فایل آپلود نشه و پیغام فایلی با این نام وجود دارد نمایش داده بشه .

با تشکر 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • مدیر انجمن

درود؛

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

خود PHP یک تابع به نام file_exists تعریف کرده برای چک کردن نام فایل پیش از آپلود که می تونید به این صورت دستور شرطی رو استفاده کنید براش:

if (file_exists($my_folder . $_FILES['file']['name'])) {
echo 'متاسفانه, فایل ' . $_FILES['file']['name'] . ' درحال حاضر موجود می باشد';
}

 

  • Like 1
  • Thanks 1
لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • مدیر انجمن
در 8 دقیقه قبل، jahan-tools2 گفته است :

ولی این باز آپلود میشه میخوام آپلود نشه.

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

اینم کد ویرایش شده خدمت شما:

<?php
 
// A list of permitted file extensions
$allowed = array('png', 'jpg', 'gif','zip','jpeg','bmp','css','js','html','htm','rar','mp4','mp3','txt','pdf','psd','ico','7z','apk','mkv','avi');
$my_folder = 'uploads/';

if (file_exists($my_folder . $_FILES['file']['name'])) {
echo 'متاسفانه, فایل ' . $_FILES['file']['name'] . ' درحال حاضر موجود می باشد';
}
 else {
if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){
 
    $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION);
 
    if(!in_array(strtolower($extension), $allowed)){
        echo 'آپلود فايل با شکست مواجه شد';
        exit;
    }
 
    if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){
        echo '<p style="color:#EEE;">فايل با موفقيت آپلود شد :<br> <a style="color:#EEE;" href="https://1go.ir/http://jahan-up.gigfa.com/uploads/'.$_FILES['upl']['name'].'">http://jahan-up.gigfa.com/uploads/'.$_FILES['upl']['name'].'</p></a>';
        exit;
    }
}
}
 
echo 'آپلود فايل با شکست مواجه شد  ';
exit; ?>

اینم چک کنید اگر کار نکرد، یه چند دقیقه دیگه برگردید، یک اسکریپت با کارایی مشابه همین بسازم براتون امکان استفاده از نام فایل تصادفی هم داشته باشه و هم اینکه امکان چک کردن موجود بودن فایل قبل از آپلود و با امکانات و امنیت بیشتر.

  • Like 1
  • Thanks 1
لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • مدیر انجمن

این هم اسکریپتی که قولشو داده بودم تقدیم شما: لینک ها تنها برای اعضای سایت قابل نمایش است.

 

  • Like 2
لینک ارسال
به اشتراک گذاری در سایت های دیگر
مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...