PDA

View Full Version : سوال: ایجاد شرط برای درج فایل



soroush.r70
پنج شنبه 12 مرداد 1391, 17:50 عصر
چطوری می تونم در موقع درج رکورد به همراه آپلود فایلی شرطی برای آپلود فایل بذارم که اگه پسوند فایل mp3 بود بره در فیلد mp3 درج بشه اگر پسوند فایل mp4 بود بره در فیلد mp4 و اگه پسوند فایل zip یا rar بود در فیلد file درج بشه .

cpuram
پنج شنبه 12 مرداد 1391, 19:30 عصر
میتونید با دستورات رشته ها سه حرف آخر اونو چک کنید و به مسیری که میخوایید بفرستین.

Unique
پنج شنبه 12 مرداد 1391, 20:36 عصر
ولی بهتره از pathinfo استفاده کنید :

$ext = pathinfo($filename, PATHINFO_EXTENSION);

soroush.r70
پنج شنبه 12 مرداد 1391, 21:45 عصر
لطفا اگه می شه کامل تر توضیح بدید

MMSHFE
جمعه 13 مرداد 1391, 15:03 عصر
دوست عزیز، بهتره از ['FILES['upload']['type استفاده کنید (بجای upload خاصیت name تگ input خودتون رو که از نوع file گذاشتین قرار بدین). البته این خاصیت، نوع MIME رو بر میگردونه که از اینجا (http://barnamenevis.org/showthread.php?336445-%D9%81%D9%87%D8%B1%D8%B3%D8%AA-%DA%A9%D8%A7%D9%85%D9%84-MIME-Type-%D9%87%D8%A7-%D8%AC%D9%87%D8%AA-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C) میتونید فهرست نسبتاً کامل اون رو مشاهده کنید. ضمناً با کد زیر هم میتونید پسوند رو بدست بیارین:

$ext = substr($_FILES['upload']['name'], strrpos($_FILES['upload']['name'], '.') + 1);
موفق باشید.

zeinab-es'haghi
جمعه 13 مرداد 1391, 16:37 عصر
با این کد می تونید پسوند فایل ها رو بدست بیارید :
$extension=end(explode(".", $your_string));

Unique
جمعه 13 مرداد 1391, 18:33 عصر
دوست عزیز، بهتره از ['FILES['upload']['type استفاده کنید (بجای upload خاصیت name تگ input خودتون رو که از نوع file گذاشتین قرار بدین). البته این خاصیت، نوع MIME
من با این موضوع خیلی مشکل داشتم ! در صورتی که فکر میکردم این Web Server هست که باید Mime را تشخیص بده اما در عمل متوجه شدم که مرورگر در این مسئله نقش داره ! مثلا وقتی با firefox فایل را upload میکنیم mime درست تشخیص داده میشه ولی در زمان ارسال با IE mime درست تشخیص داده نمیشه ! ساده ترین نمونش هم میتونید jpg و gif و png را تست کنین !

باز هم تاکید میکنم از pathinfo استفاده کنید :

$ext = pathinfo($_FILES['upload']['name'], PATHINFO_EXTENSION);