Re: using PHP script to add address'es of all picture files in a dir to MYSQL DB

From: Date: Tue, 06 Nov 2001 14:06:27 +0000
Subject: Re: using PHP script to add address'es of all picture files in a dir to MYSQL DB
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-73599@lists.php.net to get a copy of this message
Yes. I'm sorry, my fault. getDircon was my old name for that function (don't ask me what it stands for - I just can't remember =) I think it was something like Dircon = Directory Content - but I'm not sure) Replace every getDircon with the new name "getFilesInDir". It then should work. Good luck Stefan Rusterholz, s.rusterholz@interaktion.ch From: "Daniel" <spam@nospam.com> To: <php-general@lists.php.net> Sent: Tuesday, November 06, 2001 3:01 PM Subject: Re: [PHP] using PHP script to add address'es of all picture files in a dir to MYSQL DB > I am running on *nix apache server (acording to status.php, apache document > root in status.php is /home/sites/site158/web > ) so I change code as follows: > > <?php > function getFilesInDir($theDir, $ignore=true){ > $delim = "/"; > $dircon = array(); > $dh = openDir($theDir); > while ($dirORfile = readdir($dh)){ > if ($ignore == false || ($dirORfile != '.' && $dirORfile != > '..')){ > if (is_Dir($theDir.$delim.$dirORfile)){ > #echo "DIR: $theDir$delim$dirORfile\n"; > $files = array(); > $files = getDircon($theDir.$delim.$dirORfile); // error on this line > $dircon = array_merge($dircon,$files); > }else{ > #echo "FILE: $theDir$delim$dirORfile\n"; > array_push($dircon,$theDir.$delim.$dirORfile); > } > } > } > > return $dircon; > } > > $basedir = "/home/sites/site158/web"; // document root in status.php is > /home/sites/site158/web > $dircon = getFilesInDir($basedir); > foreach ($dircon as $file){ > echo "$file\n"; > } > > ?> > > I get a error message: > > Fatal error: Call to undefined function: getdircon() in > /home/sites/site158/web/DUCU-pages/files.php on line 18 > > Any ideas why? > > Daniel > > "Stefan Rusterholz" <scripting@interaktion.ch> wrote in message > news:004201c166bf$c92ada20$3c01a8c0@quasimodo... > > I appended a function which gives you all files in a directory (including > > subdirectories). I wrote it in a hurry for something else so don't expect > > very good code. > > You just set the $basedir to that directory where your .jpg's are in. Then > > you do a 'foreach ($files as $file)' loop and check each file if it is a > jpg > > (if it is ok for you then I'd suggest to use a preg_match like > "\\.jpg$/i") > > and then do the UPDATE or INSERT query. That's it. > > Just one point to clear: it is written for windows, so directories are > > delimited by backslash (\) and not by slash (/). If you want to use it on > a > > *nix-box you will have to search an replace all \\. > > > > Code (just paste it into a .php file an look how it works) > > <?php > > function getFilesInDir($theDir, $ignore=true){ > > $delim = "\\"; > > $dircon = array(); > > $dh = openDir($theDir); > > while ($dirORfile = readdir($dh)){ > > if ($ignore == false || ($dirORfile != '.' && $dirORfile != > > '..')){ > > if (is_Dir($theDir.$delim.$dirORfile)){ > > #echo "DIR: $theDir$delim$dirORfile\n"; > > $files = array(); > > $files = getDircon($theDir.$delim.$dirORfile); > > $dircon = array_merge($dircon,$files); > > }else{ > > #echo "FILE: $theDir$delim$dirORfile\n"; > > array_push($dircon,$theDir.$delim.$dirORfile); > > } > > } > > } > > > > return $dircon; > > } > > > > $basedir = "C:\Your Image Directory"; > > $dircon = getFilesInDir($basedir); > > foreach ($dircon as $file){ > > echo "$file\n"; > > } > > > > ?> > > Stefan Rusterholz, s.rusterholz@interaktion.ch > > ---------------------------------- > > interaktion gmbh > > Stefan Rusterholz > > Zürichbergstrasse 17 > > 8032 Zürich > > ---------------------------------- > > T. +41 1 253 19 55 > > F. +41 1 253 19 56 > > W3 www.interaktion.ch > > ---------------------------------- > > ----- Original Message ----- > > From: "Daniel" <spam@nospam.com> > > To: <php-general@lists.php.net> > > Sent: Tuesday, November 06, 2001 1:12 PM > > Subject: [PHP] using PHP script to add address'es of all picture files in > a > > dir to MYSQL DB > > > > > > > Hi, > > > > > > I want to make a simple database driven photo gallery for my site where > > > users can search the picture descriptions to find the pictures they > want, > > > all fairly simple PHP/MySQL stuff which I know. My big problem is that > I > > > have like 500+ images I want to put into the MySQL DB and I am way too > > lazy > > > to consider doing it the hard way. I was wondering if it would be > > possible > > > to write a PHP script which would get a list of all the .jpg files in > its > > > current directory and then insert a reference for each file (basically > > just > > > its location on the web server) into the MySQL PHOTO table? I was > > thinking > > > about this on the train yesterday so heres the pseudo PHP/C code of the > > sort > > > of script I was thinking about(I don't know the PHP file functions): > > > > > > file://get the number of jpeg files in same dir as this script (I don't > > know code > > > for this) > > > $NumFiles = GetNumberOfJPGFilesInDirectory(); > > > While ($NumFiles > 0) > > > { > > > file://get file location of current jpeg file (I don't know code for > > this) > > > $FileName = GetFileNameAndLocation($NumFiles); > > > // construct MySQL query > > > $sql = "INSERT INTO PHOTO SET " . "FILE='$FileName "; > > > file://add file location of current jpeg and do error handling (easy > > stuff) > > > if (mysql_query($sql)) > > > { > > > echo("Photo " . $FileName ." has been > > > added.<br>"); > > > }else > > > { > > > echo("Error adding photo: " . mysql_error() . " > > > <br>"); > > > } > > > $NumFiles = $NumFiles-1; > > > } > > > > > > Would anyone be able to help me get the code for this script right? I > can > > > do basic PHP & MySQL stuff but I am not familiar with PHP file functions > > so > > > I need someone to help me get it working... > > > > > > > > > Cheers, > > > > > > Daniel > > > > > > > > > > > > > > > > > > -- > > > PHP General Mailing List (http://www.php.net/) > > > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > > > For additional commands, e-mail: php-general-help@lists.php.net > > > To contact the list administrators, e-mail: php-list-admin@lists.php.net > > > > > > > > > > > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > For additional commands, e-mail: php-general-help@lists.php.net > To contact the list administrators, e-mail: php-list-admin@lists.php.net > > >

« previous php.general (#73599) next »