PDA

View Full Version : سوال: بدست اوردن حجم فایل توسط php



hosseinghaheri
سه شنبه 13 خرداد 1393, 11:35 صبح
سلام به همه دوستان!
من برای بدست اوردن حجم فایل هایی که اپلود میشند توی php از کد زیر استفاده میکنم!

$_FILES["file"]["size"]

حالا اگه اون فایل حجمش زیر 1 مگ باشه ، حجمو میگه ولی اگه بالای 1 مگ باشه (2 . 3 . 4 مگ) فقط مینویسه 0 !
و مقدار برگشتی از

$_FILES["file"]["error"]
برابر با 1 میشه!
اگر هم حجم بیستو دو سه مگ بشه کلا سرور تو همه ی شرط هایی که واسه اپ (مثل تعداد ارور ها و سایز و وجود فایل از قبل) گذاشتم ارور میده!

Mohammadsgh
سه شنبه 13 خرداد 1393, 12:19 عصر
میتونی از تابع filesize (http://www.php.net/manual/en/function.filesize.php)استفاده کنی.

hosseinghaheri
سه شنبه 13 خرداد 1393, 14:21 عصر
میتونی از تابع filesize (http://www.php.net/manual/en/function.filesize.php)استفاده کنی.

درسته ولی این برای وقتیه که میخوایم حجم فایل ذخیره شده را نشون بدیم!
فایل من اگه حجمش بالای 1 مگ باشه ارور میگیره و اصلا اپ نمیشه که بخوام با این کد حجمش را بگیرم!

در واقع اولین مشکل من اپ کردن فایل بالای 1 مگه ، بعد هم گرفتن حجمش !

Mohammadsgh
سه شنبه 13 خرداد 1393, 14:41 عصر
اگر میشه کدتون رو بزارید اینجا تا بیشتر راهنماییتون کنیم؟:لبخندساده:

aalmair
سه شنبه 13 خرداد 1393, 16:47 عصر
فکر مشکلتون توی تنظیمات php.ini باشه .




upload_max_filesize = 30M
post_max_size = 30M

Mohammadsgh
سه شنبه 13 خرداد 1393, 17:45 عصر
دوستمون درست میگه شما دنبال این نوشته ها تو php.ini بگیرید و تغیرشون بدید

hosseinghaheri
سه شنبه 13 خرداد 1393, 20:48 عصر
ممنون از همه!
مشکل حل شد!

فقط یه چیز دیگه !!!
الان متغییری حجم فایل را نشون میده را چه طوری میتونم محدودش کنم!
مثلا تا دو رقم اعشار را نشون بده!

Mohammadsgh
سه شنبه 13 خرداد 1393, 21:04 عصر
متغییرتون رو تقسیم بر رقم سایز مورد نیاز کنید برای نمونه

$a=(123654)/2
اینجوری برای نمونه اگه بایت رو بنویسه کیلو بایت میشه
امیدوارم متوجه منظورم شده باشید:لبخندساده:

hosseinghaheri
سه شنبه 13 خرداد 1393, 21:09 عصر
دقیقا همین کار را کردم ، البته برای تبدیل بایت به کیلو بایت و مگابایت ، ولی عدد خروجی تا هفت هشت رقم اعشاره اخرش!

Mohammadsgh
چهارشنبه 14 خرداد 1393, 10:18 صبح
با تابع round نمیتونی درست کنی؟

hosseinghaheri
چهارشنبه 14 خرداد 1393, 12:22 عصر
با تابع round نمیتونی درست کنی؟

مرسی جواب داد!