Login
PHP: Call to undefined function ...
120
23.09.09 11:58
Может я слепой, но никак не могу распознать, в чем заключается ошибка. Функция определена, а выдает ошибку.
Сорры за много букав
Сорры за много букав
<?php
error_reporting(E_ALL | E_NOTICE);
class Dir
{
private $filetype = array();
private $root;
private $deny = array();
private $files = array();
public function setRoot ($var)
{
$this->root = $var;
}
public function denyFolder ($var)
{
$this-> deny = $var;
}
public function setFiletype ($var)
{
$this-> filetype = $var;
}
public function startSearch()
{
$this -> doNavigate();
if ($this->files)
{
return $this->files;
}
else
{
return false;
}
}
private function doNavigate()
{
$sort = array();
if ($handle = opendir($this->root))
{
while ($found = readdir($handle))
{
if ($found != '.' && $found != '..')
{
$sort[] = $this->root . '/' . $found;
}
}
//print_r($sort);
if (sizeof($sort) > 0)
{
natcasesort($sort);
foreach ($sort as $var)
{
if (is_dir($var))
{
$this->setFolder($var);
$this->doNavigate();
}
else if (is_file($var))
{
$this->setFile($var);
}
}
}
closedir($handle);
}
}
private function setFolder ($folder)
{
if (!$this->checkFolder($folder))
{
$this->root = $folder;
}
}
private function checkFolder($folder)
{
foreach ($this->deny as $forbidden)
{
$tmp = explode('/', $folder);
if ($tmp[count($tmp) -1] == $forbidden)
{
return true;
}
}
}
private function setFile($file)
{
if ($this->checkFiletype($file))
{
$filesize = filesize($file);
$filetime = filemtime($file);
$mark = strrpos($file, "/");
$path = substr($file, 0, $mark);
$file = substr($file, $mark + 1);
$this->files[] = array(
'path' => $path,
'file' => $file,
'size' => $filesize,
'time' => $filetime
);
}
}
private function checkFiletype($file)
{
foreach ($this-> filetype as $valid)
{
if (substr($file, -4) == $valid)
{
return true;
}
}
}
}
$root = $_SERVER['DOCUMENT_ROOT'].'/testDir';
$folder = array('privat', 'tracker', 'phpMyAdmin');
$filetype = array('.htm','.php');
$dir = new Dir;
$dir -> setRoot($root);
$dir = denyFolder($folder); // <----- ta samaja 129. stroka
$dir = setFiletype($filetype);
$result = $dir -> startSearch();
print_r($result);
?>
В ответ на:
Fatal error: Call to undefined function denyFolder() in .............../Dir.class.php on line 129
Fatal error: Call to undefined function denyFolder() in .............../Dir.class.php on line 129
NEW 23.09.09 12:05
in Antwort Apels1n 23.09.09 11:58
$dir->denyFolder($folder);
$dir->setFiletype($filetype);
Dropbox - средство синхронизации и бэкапа файлов.
NEW 23.09.09 13:15
in Antwort voxel3d 23.09.09 12:05