WeberDev.com PHP and MySQL Code

LOG IN
BEGINNER GUIDESPHP CLASSESCODE SEARCHARTICLES SEARCHPHP FORUMSPHP MANUALPHP FUNCTIONS LISTWEB SITE TEMPLATES
Start typing to search for PHP and MySQL Code Snippets and Articles Search
Submit a code Example / Snippet Join us on FaceBook
Submit a code Example / Snippet Submit Your Code
Poker Tournaments Poker Tournaments
Poker Guide for Developers Poker Guide for Developers
Search Engine Optimization Monitor SEO Monitor
Web Site UpTime Monitor UpTime Monitor
Your Personal Examples List My Favorite Examples
Your Personal Articles List My Favorite Articles
Edit Account Info Update Your Profile
PHP Code Search
Web Development Forums
Learn MySQL Playing Trivia
PHPBB2 Templates
Web Development Resources
Web Development Content
Internet Security Software
PHPClasses
PHP Editor
PHP Jobs
Vision.To Design
Ajax Tutorials
PHP Programming Help
PHP/MySQL Programming
Webmaster Resources
Webmaster Forum
XML meta language
website builder
פרייסז - הכח לקנות עובר לידיים שלך
Texas Holdem Poker Evangelists

Go Back Add a Comment Send this example to a friend Add this Article to your personal favoritest for easy future access to your favorite Code Examples and Articles. Submit a code example Print this code example.
BACK ADD A COMMENT SEND TO A FRIEND ADD TO MY FAVORITES ADD CODE EXAMPLES PRINT
Title : Image Browser
Categories : Filesystem, GD image library, Content Management, PHP Update Picture
shakib otaqui
Date : Dec 05th 2002
Grade : 3 of 5 (graded 21 times)
Viewed : 20765
File : imgBrowser.zip
Images : No Images for this code example.
Search : More code by shakib otaqui
Action : Grade This Code Example
Tools : My Examples List

Submit your own code examples  Submit your own code examples 
 

<?
        /*****************************************
        ** **
        ** IMAGE BROWSER **
        ** **
        ** original code by shakib of **
        ** **
        ** http://www.mediumart.co.uk **
        ** **
        *****************************************/
        
        /* NOTES
                
                this script is intended for use in a
                directory empty of everything other
                than image files (jpg and png, not
                gif due to licensing restrictions)
                
                this script will automatically generate
                and save thumbnails of images that you
                upload, and display these first off with
                links to the full images
                
                NOTE - image handling with php is not
                the most efficient in the world - do not
                try and parse more than 2 or 3 images at
                a time.
                
                
                USAGE:
                1. upload this script to your images directory
                
                2. upload a couple of sample images
                
                3. create a sub-directory for the thumbnails
                 ("thumbs" is the default)
                
                4. browse to this script over http!
                
                
                COPYRIGHT:
                
                this script isn't copyright at all. you can
                use it, modify it, sell it, claim it as your
                own, whatever.
                if you *want* to have a link back to us at
                http://www.mediumart.co.uk that would be
                great :)
                
        */
        
        
        /* CONFIG */
        
        // maximum width and height of thumbnails (will scale)
        $maxw = 100;
        $maxh = 75;
        // directory to place thumbnail images
        $thumbdir = "thumbs";
        // number of columns in table
        $cols = 4;
        // number of rows in table
        $rows = 4;
        // default sorting method ["date","size","name"]
        $df_sortby = "date";
        // default ordering (ascending or descending) ["ASC","DESC"]
        $df_ascdsc = "DESC";
        
        
        
        
        
        /* INITIALISATION */
        
        // useful shortcut
        $url = $_SERVER["PHP_SELF"]."?";
        
        // start point and ordering
        $start = ( isset($_GET["start"]) ) ? $_GET["start"] : 0;
        $sortby = ( isset($_GET["sortby"]) ) ? $_GET["sortby"] : $df_sortby;
        $ascdsc = ( isset($_GET["ascdsc"]) ) ? $_GET["ascdsc"] : $df_ascdsc;
        
        // allowed image types
        // NOTE - to add image types (.gif for example)
        // you must also alter the createThumb function
        $sfxs = array(".jpg",".jpeg",".png");
        
        // get the current directory path:
        $curdir = dirname(stripslashes($_SERVER["PATH_TRANSLATED"]));
        
        // get folder delimiter for this system:
        $slash = ( strstr($curdir,"\\") ) ? "\\" : "/";
        
        $thumbdir = $thumbdir;
        
        
        
        /* READ DIRECTORY */
        
        // create array to hold filenames and information
        // $images[n][0] = name
        // $images[n][1] = date
        // $images[n][2] = size
        $images = array();
        
        @ $handle = opendir($curdir);
        if ( !$handle ) {
                error("could not open directory!");
                exit;
        }
        
        while ( $file = readdir($handle) ) {
                if ( isValid($file,$sfxs) ) {
                        $tmp = array();
                        $tmp[0] = $file;
                        $tmp[1] = filemtime($file);
                        $tmp[2] = filesize($file);
                        array_push($images,$tmp);
                        // do we need to create a thumbnail?
                        if ( !file_exists($thumbdir.$slash.$file) ) {
                                createThumb($file);
                        }
                }
        }
        // now sort the dir:
        usort($images,"sortme");
        
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
        <title>shakib's image browser</title>
        <style>
                body, td, input, select {
                        font-family: Verdana, Arial, Helvetica, sans-serif;
                        font-size: 0.8em;
                        background-color: #efefef;
                        color: #454545;
                }
                input, select {
                        border: 1px solid #666666;
                }
                a {
                        font-weight: bold;
                        color: #000000;
                }
                a:visited {
                        color: #787878;
                }
                a:hover {
                        color: #ff6600;
                }
                .img {
                        font-size: 0.7em;
                        border: 1px solid #666666;
                        text-align: center;
                        vertical-align: bottom;
                        padding: 5px 2px 5px 2px;
                }
        </style>
</head>

<body>

<p><small><a href="flash.php">flash version</a></small></p>

<h3 align="center">shakib's images</h3>



<?
        /* CREATE TABLE */
        $k = $start;
        $n = count($images);
        $ord = "&sortby=".$sortby."&ascdsc=".$ascdsc;
        if ( $start > 0 ) {
                $pn = $start - $rows*$cols;
                $prev = '<a href="'.$url.$ord.'&start='.$pn.'">prev</a>';
        } else {
                $prev = "prev";
        }
        if ( $start + $rows*$cols < $n) {
                $nn = $start + $rows*$cols;
                $next = '<a href="'.$url.$ord.'&start='.$nn.'">next</a>';
        } else {
                $next = "next";
        }
        if ( $n-$k < $rows*$cols ) {
                $rows = ceil(($n-$k)/$cols);
        }
?>

<table border="0" align="center" width="<?=$cols*$maxw*1.4?>">
        <tr>
                <td colspan="<?=$cols?>" align="center">
                        <form name="f" action="<?=$_SERVER["PHP_SELF"]?>"
method="GET">
                        <input name="start" type="hidden" value="<?=$start?>">
                        sort by
                        <select name="sortby">
                                <option value="-1">-- sort by --</option>
                                <option value="date"<? if ($sortby=="date") echo "
SELECTED"?>>date</option>
                                <option value="size"<? if ($sortby=="size") echo "
SELECTED"?>>size</option>
                                <option value="name"<? if ($sortby=="name") echo "
SELECTED"?>>name</option>
                        </select>
                        <input name="ascdsc" value="ASC" type="radio"<? if
($ascdsc=="ASC") echo " CHECKED"?>>ascending
                        <input name="ascdsc" value="DESC" type="radio"<? if
($ascdsc=="DESC") echo " CHECKED"?>>descending
                        <input type="submit" value="re-sort">
                        </form>
                </td>
        </tr>
        <tr>
                <td colspan="<?=$cols?>"><hr></td>
        </tr>
        <tr>
                <td colspan="<?=$cols?>">
                        <table width="100%">
                                <tr>
                                        <td><?=$prev?></td>
                                        <td align="right"><?=$next?></td>
                                </tr>
                        </table>
                </td>
        </tr>
<?
        for ( $i=0; $i<$rows; $i++ ) {
?>
        <tr>
<?
                for ( $j=0; $j<$cols; $j++ ) {
?>
                <td class="img" width="<?=round(100/$cols)?>%">
<?
                        if ( $k < $n ) {
?>
                        <a href=><?=$images[$k][0]?>" target="blank" alt="<?=$images
[$k][0]?>">
                                <?=$images[$k][0]?><br />
                                <img
                                        src=><?=$thumbdir."/".$images[$k][0]?>"
                                        border="0"
                                        alt="<?=$images[$k][0]?>"
                                        vspace="2"
                                
        style="filter:progid:DXImageTransform.Microsoft.Shadow
(color=#000000,direction=135,strength=5)">

                        </a><br />
                        <?=round($images[$k][2]/1024)?>Kb, <?=date("d-m-y",$images
[$k][1])?>

<?
                        } else {
?>
                        
<?
                        }
?>
                </td>
<?
                        $k++;
                }
?>
        </tr>
<?
        }
?>
        <tr>
                <td colspan="<?=$cols?>"><hr></td>
        </tr>
        <tr>
                <td colspan="<?=$cols?>" align="center">
                        the code that handles this archive is freely available, and
easy to plug into your own image
directory<br />
                        <a href="imgBrowser.zip" style="color:#000000">zipped php
source</a>
                </td>
        </tr>
</table>


</body>
</html>



<?
        
        /*
                
                USEFUL FUNCTIONS
                
        */
        
        
        function isValid($f,$a) {
                $t = getSuffix($f);
                return ( in_array($t,$a) ) ? true : false;
        }
        
        function getSuffix($f) {
                $n = strrpos($f,".");
                return substr($f,$n,strlen($f)-$n);
        }
        
        
        
        
        
        function createThumb($f) {
                // use max width config value
                global $maxw, $maxh, $curdir, $thumbdir, $slash;
                $type = getSuffix($f);
                // png or jpeg?
                // either way get image
                if ($type==".png") {
                        $input = imagecreatefrompng($f);
                } else {
                        $input = imagecreatefromjpeg($f);
                }
                if ( !$input ) {
                        error("not a valid image file :(");
                        return false;
                }
                // get size ( [0]=width, [1]=height )
                $tmp = getimagesize($f);
                if ( !$tmp ) {
                        error("Could not get input image size");
                        return false;
                }
                // get width of new thumbnail by taking
                // the smaller value from max and tmp width
                $w = ($tmp[0]>$maxw) ? $maxw : $tmp[0];
                // scale height according to width
                $h = $tmp[1] * ($maxw/$tmp[0]);
                if ( $h>$maxh ) {
                        $h = $maxh;
                        $w = $tmp[0] * ($maxh/$tmp[1]);
                }
                // create output image
                @ $output = imagecreate($w,$h);
                if ( !$output ) {
                        error("could not create output image");
                        return false;
                }
                // copy big image over to thumbnail, and resize down
                imagecopyresized( $output,$input, 0,0, 0,0, $w,$h, $tmp[0],$tmp[1] );
                $newfile = $thumbdir.$slash.$f;
                // do the outputting!
                if ( $type == ".png" ) {
                        imagepng($output,$newfile);
                } else {
                        imagejpeg($output,$newfile);
                }
        }
        
        
        
        function sortme($a,$b) {
                // setup
                global $sortby, $ascdsc;
                if ( $sortby == "name" ) {
                        $n = 0;
                } elseif ( $sortby == "date" ) {
                        $n = 1;
                } elseif ( $sortby == "size" ) {
                        $n = 2;
                }
                $m = ( $ascdsc == "ASC" ) ? 1 : -1;
                if ( $a[$n] == $b[$n] ) return 0;
                return ($a[$n] > $b[$n]) ? $m : -1*$m;
        }
        
        
        
        function error($str) {
                echo '<div style="background-color:#ffffff;color:#660000;font-
weight:bold">'.$str.'</div>';
        }
        
        
?>



File Explorer, browse, upload, download and edit your web site files with only a browser and a HTTP connection.
Categories : Complete Programs, Content Management, Filesystem, PHP
Download manager - A PHP script for adding a download page to any site.It also enables you track the no. of downloads.
Categories : PHP, Content Management, Filesystem, Databases, MySQL
QTO File Manager
Categories : Filesystem, filePro, Complete Programs, PHP, Content Management
This program implements hot link prevention in php. It is useful for webmasters who do not have access to the server at a level where they can control hot linking can still supply some type of hot link prevention for thier site by using php.
Categories : PHP, Filesystem, Graphics, Content Management
PHP ZIP file creation on a linux box using exec. Create ZIP files containing images
Categories : PHP, Compression, Filesystem
Search for files
Categories : PHP, Filesystem, Search
PHP4 DirectoryIterator Class
Categories : PHP, PHP Classes, Filesystem, Directories
CAPTCHA[Image verification]
Categories : PHP, Security, GD image library, Graphics, Sessions
SSR technology 0.13 (Web application development and publishing engine)
Categories : PHP, Content Management, Complete Programs, Frameworks
Directory Viewer, Directory Content Viewer, Directory Structure to HTML. This code will basically create a complete set of HTMLs to let a user navigate through any directory you want. Excellent code for large file sharing pages.
Categories : Directories, Filesystem, PHP
Functions to read a template file and fill in PHP variables. It will also fill in array variables, displaying parts of the template multiple times.
Categories : PHP, Variables, Filesystem
Using PHP to Delete a directory with all sub directories and files using FTP
Categories : PHP, FTP, Directories, Filesystem
Working with files - putting file contents to a string / var
Categories : PHP, Filesystem, Variables, Strings
This script will read all images from a folder and read the files into an array. It uses rand() to get a random number. It will display a random image from the image folder given.
Categories : PHP, Arrays, Graphics, Filesystem
Checking to see if a file exists with PHP
Categories : PHP, Filesystem, Perl