انجمن های کدباکس
https://codebox.ir/forum/

جلوگیری از آپلود فایل تکراری در php
https://codebox.ir/forum/viewtopic.php?f=68&t=487
صفحه 1 از 1

نويسنده:  babachangiz [ پنج شنبه 08 دسامبر 16, 6:52 pm ]
موضوع پست:  جلوگیری از آپلود فایل تکراری در php

سلام.
یک فرم آپلود ساده در پی اچ پی ایجاد کردم. حالا میخوام کاری کنم که کلاینت فایل تکراری آپلود نکنه.
لطفا راهنمایی کنید.

نويسنده:  Hoseyn [ پنج شنبه 08 دسامبر 16, 6:58 pm ]
موضوع پست:  Re: جلوگیری از آپلود فایل تکراری در php

babachangiz نوشته است:
سلام.
یک فرم آپلود ساده در پی اچ پی ایجاد کردم. حالا میخوام کاری کنم که کلاینت فایل تکراری آپلود نکنه.
لطفا راهنمایی کنید.

سلام باید دستور شرطی زیر رو در کد های php خودتون جایگذاری کنید
کد:
// بررسی شود اگر فایل از قبل موجود است
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}


در کد بالا متغیر target_file مسیر آپلود هست

نويسنده:  babachangiz [ پنج شنبه 08 دسامبر 16, 6:59 pm ]
موضوع پست:  Re: جلوگیری از آپلود فایل تکراری در php

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

نويسنده:  Hoseyn [ پنج شنبه 08 دسامبر 16, 7:04 pm ]
موضوع پست:  Re: جلوگیری از آپلود فایل تکراری در php

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


با استفاده از کد زیر :
کد:
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

در کد بالا fileToUpload از کد اچ تی ام ال اومده که در اون کد، به عنوان نام Input type انتخاب شده بوده و مقرر شده که اگر سایز عکس بیشتر از 500000 کیلوبایت بود پیغام Sorry, your file is too large رو چاپ کنه.

نويسنده:  felafel [ پنج شنبه 08 دسامبر 16, 7:09 pm ]
موضوع پست:  Re: جلوگیری از آپلود فایل تکراری در php

با اجازه از استارتر مبحث من هم سوالی درهمین رابطه داشتم که چطور میشه در فرم upload در php اجازه ی آپلود پسوند های نامربوط رو نداد. مثلا فقط اجازه داد عکس آپلود بشه.
لطفا راهنمایی بفرمایید.

نويسنده:  Hoseyn [ پنج شنبه 08 دسامبر 16, 7:19 pm ]
موضوع پست:  Re: جلوگیری از آپلود فایل تکراری در php

felafel نوشته است:
با اجازه از استارتر مبحث من هم سوالی درهمین رابطه داشتم که چطور میشه در فرم upload در php اجازه ی آپلود پسوند های نامربوط رو نداد. مثلا فقط اجازه داد عکس آپلود بشه.
لطفا راهنمایی بفرمایید.


سلام دوست عزیز. به نظر من هم پرسیدن این سوال در این مبحث خیلی هم بی ارتباط نیست
و اما راه حل :
کد:
// پسوند های مجاز
[COLOR=#NaNNaNNaN]$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);[/COLOR]
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}

در اینجا متغیر imageFileTypes برابر با تابع pathinfo() قرار داده شده که در این تابع هم متغیر target_file استفاده شده که خودمون باید برابر با آدرس دلخواه قرار بدیم. اینجا کدش رو ننوشتم ولی باید اول کار اضافه کنیم و PATHINFO_EXTENSION هم پسوند ها رو بر میگردونه
و داریم که اگر
imageFileType با jpg و ... برابر نبود پیغامی نمایش داده بشه که فلان پسوند ها مجازه و متغیر Uploadok برابر با 0 قرار بگیره

نويسنده:  Hoseyn [ پنج شنبه 08 دسامبر 16, 7:23 pm ]
موضوع پست:  Re: جلوگیری از آپلود فایل تکراری در php

در اینجا لازم دونستم که شفاف سازی کنم درباره ی uploadOK که در صورت خطا برابر با 0 قرار میگرفت. این به این خاطر بود که بعدا تعریف کنیم که اگر این متغیر برابر با 0 شد پیغام عدم موفقیت در آپلود نمایش داده بشه. که دیگه باید با یک if و else ساده انجام داد.

صفحه 1 از 1 ساعت سایت بر اساسUTC تنظیم شده است
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/