PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
Moderator: General Moderators
Merlin3D
Forum Newbie
Posts: 7 Joined: Thu Nov 13, 2003 8:41 am
Location: dallas,tx
Contact:
Post
by Merlin3D » Thu Nov 13, 2003 8:41 am
Code: Select all
<?php
class dir_class
{
var $dir_name;
var $dirs = array();
var $files = array();
var $idx = NULL;
var $sortlists;
function open($dirname, $sortlists = false)
{
if(($dirname != "") || (is_dir($dirname) == true))
{
$this->dir_name = $dirname;
}
if($dh = opendir($this->dir_name))
{
$this->idx = $dh;
while(($file = readdir($this->idx)) !== false)
{
if($file != '..' || $file != '.')
continue;
if(is_dir($file))
$this->dirs[] = $file;
else
$this->files[] = $file;
}
@closedir($this->idx);
if($sortlists == true)
{
sort($this->dirs);
sort($this->files);
}
}
}
function file_types()
{
foreach($this->files as $filenum => $filename)
{
$file_types[$filenum] = filetype($this->dir_name.'/'.$file[$filenum]);
}
return $file_types;
}
function file_sizes()
{
foreach($this->files as $filenum)
{
$file_sizes[$filenum] = filesize($this->dir_name.'/'.$file[$filenum]) / 1024;
}
return $file_sizes;
}
function get_dirs()
{
return $this->dirs;
}
function get_files()
{
return $this->files;
}
}
?>
Example :
Code: Select all
<?
include("includes/dir_class.inc.php");
$gallery = new dir_class;
$gallery->open("/home/gallery" , true);
$types = $gallery->file_types();
$sizes = $gallery->file_sizes();
$dirs = $gallery->get_dirs();
$files = $gallery->get_files();
print_r($types);
print_r($sizes);
print_r($dirs);
print_r($files);
?>
can anyone tell me if you see any errors?
Last edited by
Merlin3D on Thu Nov 13, 2003 8:52 am, edited 1 time in total.
twigletmac
Her Royal Site Adminness
Posts: 5371 Joined: Tue Apr 23, 2002 2:21 am
Location: Essex, UK
Post
by twigletmac » Thu Nov 13, 2003 8:51 am
Do you get any errors when you run the code, what does/doesn't happen that you don't/do expect?
Mac
Merlin3D
Forum Newbie
Posts: 7 Joined: Thu Nov 13, 2003 8:41 am
Location: dallas,tx
Contact:
Post
by Merlin3D » Thu Nov 13, 2003 8:53 am
Well it just echos blank array's it doesnt show the files in that dir. So i dont know whats wrong
Merlin3D
Forum Newbie
Posts: 7 Joined: Thu Nov 13, 2003 8:41 am
Location: dallas,tx
Contact:
Post
by Merlin3D » Thu Nov 13, 2003 9:04 am
well heres what shows up on my screen.
Array() Array()
Merlin3D
Forum Newbie
Posts: 7 Joined: Thu Nov 13, 2003 8:41 am
Location: dallas,tx
Contact:
Post
by Merlin3D » Thu Nov 13, 2003 9:33 am
anyone
twigletmac
Her Royal Site Adminness
Posts: 5371 Joined: Tue Apr 23, 2002 2:21 am
Location: Essex, UK
Post
by twigletmac » Thu Nov 13, 2003 10:06 am
Have you tried putting some debugging echo()'s into the class so that you can see what's going on in there?
E.g:
Code: Select all
function open($dirname, $sortlists = false)
{
echo '<p>$dirname = '.$dirname.'</p>';
if (($dirname != "") || (is_dir($dirname) == true)) {
$this->dir_name = $dirname;
} else {
echo '<p>'.$dirname.' is either empty or not a directory.</p>';
}
if ($dh = opendir($this->dir_name)) {
$this->idx = $dh;
while (($file = readdir($this->idx)) !== false) {
echo 'Current File is: '.$file;
if ($file != '..' && $file != '.') {
if (is_dir($file)) {
echo ' and is a directory <br />';
$this->dirs[] = $file;
} else {
echo ' and is a file <br />';
$this->files[] = $file;
}
}
}
@closedir($this->idx);
if ($sortlists == true) {
sort($this->dirs);
sort($this->files);
}
} else {
echo '<p>The directory could not be opened</p>';
}
echo '<pre>Directories - ';
print_r($this->dirs);
echo '</pre>';
echo '<pre>Files - ';
print_r($this->files);
echo '</pre>';
}
Mac
Last edited by
twigletmac on Thu Nov 13, 2003 10:25 am, edited 1 time in total.
Merlin3D
Forum Newbie
Posts: 7 Joined: Thu Nov 13, 2003 8:41 am
Location: dallas,tx
Contact:
Post
by Merlin3D » Thu Nov 13, 2003 10:14 am
I dont understand
Parse error: parse error in /home/includes/dir_class.inc.php on line 42
Fatal error: Cannot instantiate non-existent class: dir_class in /home/gallery.php on line 5
twigletmac
Her Royal Site Adminness
Posts: 5371 Joined: Tue Apr 23, 2002 2:21 am
Location: Essex, UK
Post
by twigletmac » Thu Nov 13, 2003 10:26 am
There was a missing brace in the code I posted (it was just an example after all) but I've edited the code now and added it in.
Mac
Merlin3D
Forum Newbie
Posts: 7 Joined: Thu Nov 13, 2003 8:41 am
Location: dallas,tx
Contact:
Post
by Merlin3D » Thu Nov 13, 2003 10:34 am
YOU ARE GOD!!! Thanks sooooooooooo much!!!