|
|
|
| Есть код для вывода содержимого такойто дирректории
<?php
class calc_dir
{
var $a_fname=array();
var $a_fsize=array();
var $a_fdir =array();
var $cofiles;
function init()
{
$this->cofiles=0;
}
function calc_files($in_dir)
{
#Так можно отсечь нежелательные имена файлов
#if (preg_match("/_vti[.]*/i",$in_dir)){return;}
if ($dir_handle = @opendir($in_dir))
{
while($file = readdir($dir_handle))
{
//Рекурсивный проход по директориям
if ($file!=".." && $file!="." && is_dir($file))
{
$this->calc_files($in_dir."/".$file);
}
//Проход по файлам
if (is_file($in_dir."/".$file) && $file!=".." && $file!=".")
{
$this->a_fname[$this->cofiles]=$file;
$this->a_fsize[$this->cofiles]=filesize ($in_dir."/".$file);
$this->a_fdir [$this->cofiles]=$in_dir;
$this->cofiles++;
}
}
}
}
function sort ()
{
array_multisort (
$this->a_fname,
$this->a_fsize,
$this->a_fdir );
}
function show()
{
echo "<center><table border=\"1\"><tr align=\"center\"> <td>i</td><td>name</td><td>size</td><td>dir</td></tr>";
$a_size=0;
for ($i=0;$i<count($this->a_fname);$i++)
{
echo "<tr align=\"center\"><td>".($i+1)."</td><td>".$this-> a_fname[$i]."</td><td>".$this->a_fsize[$i]."</td><td> ".$this->a_fdir[$i]."</td></tr>";
$a_size+=$this->a_fsize[$i];
}
echo "<tr><td colspan=\"2\">Total:</td><td colspan=\"2\">$a_size</td></tr>";
echo "</table></center>";
}
}//end class
$d=new calc_dir;
$d->init();
$d->calc_files($_POST['url']);
$d->sort();
$d->show();
?>
необходимо чтоб адрес вводился с формы и количество фаилов и их общий вес заносился в базу | |
|
|
|
|
|
|
|
для: Polina
(09.06.2009 в 09:07)
| | И в чем, собственно, проблема?
Ставьте форму. Проверяйте нажатость кнопки. Заносите данные в базу
init - переименуйте в calc_dir для РНР4, в _construct - для РНР5, уберите $d->init();
И вообще зачем вам класс? | |
|
|
|
|
|
|
|
для: mihdan
(09.06.2009 в 09:23)
| | Касяк весь в том что не видет введенного адреса | |
|
|
|
|
|
|
|
для: Polina
(09.06.2009 в 09:26)
| | Пример? И уберите вы собаки в коде - станет яснее, где ошибка | |
|
|
|
|
|
|
|
для: mihdan
(09.06.2009 в 09:27)
| | вот код формы
<html>
<head>
<title>Учебник</title>
</head>
<body>
<form method="POST" action="Count.php">
Адрес: <input name="url" type="text" value=""><BR>
<input type="submit" value="Проверить дерикторию">
</form>
</body>
</html>
непередает она адрес и все | |
|
|
|
|
|
|
|
для: Polina
(09.06.2009 в 10:01)
| | в обработчик впишите:
<?
if(isset($_POST['url'])) {$url = ($_POST['url']);}
?>
|
| |
|
|
|
|
|
|
|
для: *m*
(09.06.2009 в 11:51)
| | зачем?
Волшебная фраза? | |
|
|
|
|
|
|
|
для: Trianon
(09.06.2009 в 11:54)
| | так скорей всего нет этой проверки. | |
|
|
|
|
|
|
|
для: *m*
(09.06.2009 в 11:58)
| | и не должна быть. | |
|
|
|
|
|
|
|
для: Polina
(09.06.2009 в 10:01)
| | Учтите, что для Unix системы, файлы сount.php и Count.php разные! Это надо помнить всегда, что бы не получать проблем из-за таких мелочей. Если нет большой необходимости, то приучите себя именовать все в нижнем регистре, меньше путаницы будет. Адрес форма то передаст в любом случае, конечно если поле формы будет заполнено, а вот кому, это вопрос.
Оформляя свой вопрос, используйте теги [сode][/сode], обрамляя ими свой код - он будут с подсветкой, так его удобнее читать. | |
|
|
|
|
|
|
|
для: sim5
(09.06.2009 в 12:43)
| | Всем большое спасибо,тока скажите пожулуйста как мне общее количество фаилов и их общий объем передать в таблицу БД | |
|
|
|
|
|
|
|
для: Polina
(09.06.2009 в 15:16)
| | Ну как следует из вашего кода - в функции show() вы получаете необходимое, значит в ней и нужно добавить запрос INSERT к соответствующей таблице. | |
|
|
|
|
|
|
|
для: sim5
(09.06.2009 в 15:34)
| | спасибо | |
|
|
|