Jump to content

Upload and View image in PHP with MySQL


sblake161189

Recommended Posts

Hi Guys,

 

I am trying to use a script that is available on the net to upload an image into a mysql using BLOB.

 

However it wont upload it keep getting

 

Warning: fread() [function.fread]: Length parameter must be greater than 0 in /home/theacidf/public_html/attendance/upload.php on line 17

 

Here is the code...

 

<?php

// Connect to database

$errmsg = "";
if (! @mysql_connect("localhost","theacidf_admin","password")) {
        $errmsg = "Cannot connect to database";
        }
@mysql_select_db("theacidf_attendanc");

// Insert any new image into database

if ($_REQUEST[completed] == 1) {

        move_uploaded_file($_FILES['imagefile']['tmp_name'],"latest.img");
        $instr = fopen("latest.img","rb");
        $image = addslashes(fread($instr,filesize("latest.img")));
        if (strlen($image) < 149000) {
                mysql_query ("insert into pix (title, imgdata) values (\"".
                $_REQUEST[whatsit].
                "\", \"".
                $image.
                "\")");
        } else {
                $errmsg = "Too large!";
        }
}

// Find out about latest image

$gotten = @mysql_query("select * from pix order by pid desc limit 1");
if ($row = @mysql_fetch_assoc($gotten)) {
        $title = htmlspecialchars($row[title]);
        $bytes = $row[imgdata];
} else {
        $errmsg = "There is no image in the database yet";
        $title = "no database image available";
        // Put up a picture of our training centre
        $instr = fopen("../images/logo_png.png","rb");
        $bytes = fread($instr,filesize("../images/logo_png.png"));
}

// If this is the image request, send out the image

if ($_REQUEST[gim] == 1) {
        header("Content-type: image/jpeg");
        print $bytes;
        exit ();
        }
?>

<html><head>
<title>Upload an image to a database</title>
<body bgcolor=white><h2>Here's the latest picture</h2>
<font color=red><?= $errmsg ?></font>
<center><img src=?gim=1><br>
<?= $title ?></center>
<hr>
<h2>Please upload a new picture and title</h2>
<form enctype=multipart/form-data method=post>
<input type=hidden name=MAX_FILE_SIZE value=150000>
<input type=hidden name=completed value=1>
Please choose an image to upload: <input type=file name=imagefile><br>
Please enter the title of that picture: <input name=whatsit><br>
then: <input type=submit></form><br>
<hr>

</body>
</html>

 

Why wont it run properly?

 

Thanks in advance...

S

Link to comment
https://forums.phpfreaks.com/topic/228085-upload-and-view-image-in-php-with-mysql/
Share on other sites

There are pro's and con's to saving images as blobs. Personally, i find it easier and faster to save images in a folder and only put the image name in the database; however, this tutorial may hep you...

 

http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/uploading-files-to-mysql-database.aspx

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.