PDA

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



hosseinghaheri
پنج شنبه 20 آبان 1395, 10:46 صبح
سلام خدمت همه دوستان
من طبق کد زیر حجم فایل اپلود شده را محاسبه میکنم ، کد مشکلی نداره و روی لوکال هاست هم جواب داد .
اما وقتی روی سایتم اجراش کردم حجم همه ی فایل های اپلودی 23.27 کیلوبایت هست.
مشکل از هاستمه؟
ممنون میشم راهنمایی کنید.
کد :

$filesize=$_FILES['hgfileapp']["size"];
$s=' B';
if($filesize>1024){$filesize/=1024;$s=' KB';}//kb
if($filesize>1024){$filesize/=1024;$s=' MB';}//mb
if($filesize>1024){$filesize/=1024;$s=' GB';}//gb
if($filesize>1024){$filesize/=1024;$s=' TB';}//tb
$filesize=round($filesize,2).$s;

در ضمن با چند نوع کدنویسی دگ هم تست کردم ولی جواب نداده.

lizard.tiny
پنج شنبه 20 آبان 1395, 16:54 عصر
سلام

برای اینکار این تابع رو برسی و استفاده کنید : http://pastecode.ir/?p=851

hosseinghaheri
پنج شنبه 20 آبان 1395, 20:02 عصر
ممنون اتفاقا قبلا با این تابع هم تست کرده بودم
ولی الان که دقت کردم توی حجم فایل ها مشکلی نداره و درست هست.
مشکل اینجاست که فقط 23 کیلو بایت از هر فایلی روی هاست اپلود میشه

hosseinghaheri
پنج شنبه 20 آبان 1395, 20:56 عصر
یکم کد هام را تغییر دادم دگ توی اپلود فایل مشکلی ندارم.
ولی توی انتقال فایل از یک هاست به هاست خودم باز همون مشکل وجود داره . فقط 23 کیلوبایت از فایل را منتقل میکنه.
برای انتقال از تابع copy استفاده میکنم .

از کد زیر استفاده کردم ولی دقیقا همون مشکل وجود داشت

$content = file_get_contents(trim($_POST['addr']));
@mkdir('up'.'/', 0755);
$fp = fopen('up'.basename($_POST['addr']), "wb");
if (!$fp)
echo '<span class=red>انتقال انجام نشد احتمالاً خطا از فايل يا دايرکتوري است .</span>';
else
echo '<span class=green>فايل ساخته شد . </span>';
fwrite($fp, $content);
fclose($fp);


با تابع زیر هم تست کردم ولی اصلا ارور داد و تابع را اجرا نکرد.

function dlf($url, $save_path) {
set_time_limit (0);
$f = fopen($save_path, 'w+');
$handle = fopen($url, "rb");
while (!feof($handle)) {
$contents = fread($handle, 8192);
fwrite($f, $contents);
}
fclose($handle);
fclose($f);
}