фаилове и директорий

systems

Registered
Добър ден използвам следния скрипт и съм доволен от него но ми се иска ако може малко да се преправи ето за какво става на въпрос:

PHP:
<?php
$file_arr = glob('/usr/local/user/'(  $_SESSION['user_info']['username']) . '/*');
echo '<table width="100%" border="1">';
foreach ($file_arr as $file)
{
echo '<tr><td width="50%">'.$file.'</td><td width="50%">размер ' . sprintf('%01.2f', @filesize($file) / 1048576 ). 'мб</td></tr>';
}
echo '</table>';
?>
този скрипт ми показва колко мегабайта е определен фаил но ако фаила е баитове то тогава тои ми показва 0 мб това е първото ще може ли да се направи да показва баитове мегабаити

и втория ми въпрос е следния възможно ли е вместо да ми показва по следния начин директоий и фалове да ми показва фаиловете тоест ето какво имам в предвид:
пример сега показва:/usr/local/user/systems 0mb

а идеята ми е ако може да се преправи примерно така да показва:име на фаил: systems размер:192kb
тоест само имената на фаиловете без директорията в която се намират и колко големи са в мегабаити или баитове благодаря ви.
 
Ти въобще мислиш ли какво правиш?

echo .... @filesize($file) / 1048576 ...;

еми кат го делиш на един милион естествено че ще го получиш в мегабайти...
:o :o :o :o

а за как да вземеш само името на файла -> http://lmgtfy.com/?q=php+get+file+size+in+bytes

http://php.net/manual/en/function.basename.php
google не е толкова сложен за ползване...
 
ок благодаря успях да направя това с мегабаити баитове но това неможаш да го схвана как да ми показва само името на фаила може ли някакъв пример?
 
systems каза:
ок благодаря успях да направя това с мегабаити баитове но това неможаш да го схвана как да ми показва само името на фаила може ли някакъв пример?

PHP:
$dir = "path/to/file.txt";
$filename = basename($dir);
echo $filename;
 
същата работа аз ли греша някъде?

PHP:
<?php
$file_arr = glob('/usr/local/user/'(  $_SESSION['user_info']['username']) . '/*');
echo '<table width="100%" border="1">';
$filename = basename($file_arr);
foreach ($file_arr as $filename)
{
echo '<tr><td width="50%">'.$filename.'</td><td width="50%">размер ' . sprintf('%01.2f', @filesize($filename)). 'б</td></tr>';
}
echo '</table>';
?>

пак ми показва директорията с името на фаила вместо само името на фаила.
 
Оправви този ре:
PHP:
$file_arr = glob('/usr/local/user/'(  $_SESSION['user_info']['username']) . '/*');
нещо не е наред, а не разбирам какво си имал предвид.

Може би да пробваш така:
PHP:
<?php
$file_arr = glob('/usr/local/user/'.(  $_SESSION['user_info']['username']) . '/*');
echo '<table width="100%" border="1">';
$filename = $file_arr;
foreach ($file_arr as $filename)
{
echo '<tr><td width="50%">'.basename($filename).'</td><td width="50%">размер ' . sprintf('%01.2f', filesize($filename)). 'б</td></tr>';
}
echo '</table>';
?>
 

Back
Горе