Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2

Thread: upload image

  1. #1
    New to the CF scene
    Join Date
    Feb 2010
    Posts
    5
    Thanks
    1
    Thanked 0 Times in 0 Posts

    upload image

    i use this script for uploading image in mysql db
    Code:
    <?php
    $db_host = 'localhost'; // don't forget to change 
    $db_user = 'username'; 
    $db_pwd = 'password';
    
    $database = 'vargasfa_fake';
    $table = 'ae_gallery';
    // use the same name as SQL table
    
    $password = 'satan159E';
    // simple upload restriction,
    // to disallow uploading to everyone
    
    
    if (!mysql_connect($db_host, $db_user, $db_pwd))
        die("Can't connect to database");
    
    if (!mysql_select_db($database))
        die("Can't select database");
    
    // This function makes usage of
    // $_GET, $_POST, etc... variables
    // completly safe in SQL queries
    function sql_safe($s)
    {
        if (get_magic_quotes_gpc())
            $s = stripslashes($s);
    
        return mysql_real_escape_string($s);
    }
    
    // If user pressed submit in one of the forms
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        // cleaning title field
        $title = trim(sql_safe($_POST['title']));
    
        if ($title == '') // if title is not set
            $title = '(empty title)';// use (empty title) string
    
        if ($_POST['password'] != $password)  // cheking passwors
            $msg = 'Error: wrong upload password';
        else
        {
            if (isset($_FILES['photo']))
            {
                @list(, , $imtype, ) = getimagesize($_FILES['photo']['tmp_name']);
                // Get image type.
                // We use @ to omit errors
    
                if ($imtype == 3) // cheking image type
                    $ext="png";   // to use it later in HTTP headers
                elseif ($imtype == 2)
                    $ext="jpeg";
                elseif ($imtype == 1)
                    $ext="gif";
                else
                    $msg = 'Error: unknown file format';
    
                if (!isset($msg)) // If there was no error
                {
                    $data = file_get_contents($_FILES['photo']['tmp_name']);
                    $data = mysql_real_escape_string($data);
                    // Preparing data to be used in MySQL query
    
                    mysql_query("INSERT INTO {$table}
                                    SET ext='$ext', title='$title',
                                        data='$data'");
    
                    $msg = 'Success: image uploaded';
                }
            }
            elseif (isset($_GET['title']))      // isset(..title) needed
                $msg = 'Error: file not loaded';// to make sure we've using
                                                // upload form, not form
                                                // for deletion
    
    
            if (isset($_POST['del'])) // If used selected some photo to delete
            {                         // in 'uploaded images form';
                $id = intval($_POST['del']);
                mysql_query("DELETE FROM {$table} WHERE id=$id");
                $msg = 'Photo deleted';
            }
        }
    }
    elseif (isset($_GET['show']))
    {
        $id = intval($_GET['show']);
    
        $result = mysql_query("SELECT ext, UNIX_TIMESTAMP(image_time), data
                                 FROM {$table}
                                WHERE id=$id LIMIT 1");
    
        if (mysql_num_rows($result) == 0)
            die('no image');
    
        list($ext, $image_time, $data) = mysql_fetch_row($result);
    
        $send_304 = false;
        if (php_sapi_name() == 'apache') {
            // if our web server is apache
            // we get check HTTP
            // If-Modified-Since header
            // and do not send image
            // if there is a cached version
    
            $ar = apache_request_headers();
            if (isset($ar['If-Modified-Since']) && // If-Modified-Since should exists
                ($ar['If-Modified-Since'] != '') && // not empty
                (strtotime($ar['If-Modified-Since']) >= $image_time)) // and grater than
                $send_304 = true;                                     // image_time
        }
    
    
        if ($send_304)
        {
            // Sending 304 response to browser
            // "Browser, your cached version of image is OK
            // we're not sending anything new to you"
            header('Last-Modified: '.gmdate('D, d M Y H:i:s', $ts).' GMT', true, 304);
    
            exit(); // bye-bye
        }
    
        // outputing Last-Modified header
        header('Last-Modified: '.gmdate('D, d M Y H:i:s', $image_time).' GMT',
                true, 200);
    
        // Set expiration time +1 year
        // We do not have any photo re-uploading
        // so, browser may cache this photo for quite a long time
        header('Expires: '.gmdate('D, d M Y H:i:s',  $image_time + 86400*365).' GMT',
                true, 200);
    
        // outputing HTTP headers
        header('Content-Length: '.strlen($data));
        header("Content-type: image/{$ext}");
    
        // outputing image
        echo $data;
        exit();
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
    
    <html>
    <head>
        <title><? echo _SITE_NAME; ?> :: Admin Panel :: Home</title>
        <meta http-equiv=Content-Type content="text/html; charset=utf-8">
        <link href="css/style_<? echo _CSS_STYLE;?>.css" type=text/css rel=stylesheet>
    </head>
    
    
    <!-- BEGIN MAIN CONTENT ARE -->
    <body style="background: #ffffff;">
    
    <h4>Statistics -> Statistics</h4>
    <hr style="color:#cccccc">
    
        <br />    
        <br />    
        <center>
    <html><head>
    <title>MySQL Blob Image Gallery Example</title>
    </head>
    <body>
    <?php
    if (isset($msg)) // this is special section for
                     // outputing message
    {
    ?>
    <p style="font-weight: bold;"><?=$msg?>
    <br>
    <a href="<?=$PHP_SELF?>">reload page</a>
    <!-- I've added reloading link, because
         refreshing POST queries is not good idea -->
    </p>
    <?php
    }
    ?>
    <h1>Blob image gallery</h1>
    <h2>Uploaded images:</h2>
    <form action="<?=$PHP_SELF?>" method="post">
    <!-- This form is used for image deletion -->
    
    <?php
    $result = mysql_query("SELECT id, image_time, title FROM {$table} ORDER BY id DESC");
    if (mysql_num_rows($result) == 0) // table is empty
        echo '<ul><li>No images loaded</li></ul>';
    else
    {
        echo '<ul>';
        while(list($id, $image_time, $title) = mysql_fetch_row($result))
        {
            // outputing list
            echo "<li><input type='radio' name='del' value='{$id}'>";
            echo "<a href='{$PHP_SELF}?show={$id}'>{$title}</a> &ndash; ";
            echo "<small>{$image_time}</small></li>";
        }
    
        echo '</ul>';
    
        echo '<label for="password">Password:</label><br>';
        echo '<input type="password" name="password" id="password"><br><br>';
    
        echo '<input type="submit" value="Delete selected">';
    }
    ?>
    
    </form>
    <h2>Upload new image:</h2>
    <form action="<?=$PHP_SELF?>" method="POST" enctype="multipart/form-data">
    <label for="title">Title:</label><br>
    <input type="text" name="title" id="title" size="64"><br><br>
    
    <label for="photo">Photo:</label><br>
    <input type="file" name="photo" id="photo"><br><br>
    
    <label for="password">Password:</label><br>
    <input type="password" name="password" id="password"><br><br>
    
    <input type="submit" value="upload">
    </form>
    </center>
    
    
    
    </body>
    </html>
    and here is my db
    CREATE TABLE `ae_gallery` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `title` varchar(64) character SET utf8 NOT NULL,
    `ext` varchar(8) character SET utf8 NOT NULL,
    `image_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `data` mediumblob NOT NULL,
    PRIMARY KEY (`id`)
    );

    now i want that i upload image and all image show on other page, like gallery
    please tell me what i do

  • #2
    UE Antagonizer Fumigator's Avatar
    Join Date
    Dec 2005
    Location
    Utah, USA, Northwestern hemisphere, Earth, Solar System, Milky Way Galaxy, Alpha Quadrant
    Posts
    7,691
    Thanks
    42
    Thanked 637 Times in 625 Posts
    Is your question "How do I pull data out of my MySQL table and display it on a browser?" If it is, try google; I used "how to display mysql data" and got several promising links.


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •