Det første vi trenger, er en tabell vi kan lagre bildene våre i. I denne tabellen må vi ha et felt som er av datatypen LONGBLOB. Det vil si at vi forteller databasen at vi skal lagre en stor binærfil her.
Tabellen du trenger:CREATE TABLE tbl_bilde ( id int(4) NOT NULL auto_increment, bin_data longblob, filename varchar(50) default NULL, filesize varchar(50) default NULL, filetype varchar(50) default NULL, height int(11) NOT NULL default '0', width int(11) NOT NULL default '0', PRIMARY KEY (id) ) TYPE=MyISAM;
Vi definerer et konfig fil med variabler vi ofte bruker. Denne kaller du config.php
<?php $mysql_host = "localhost"; // Mysql host $mysql_user = "brukernavn";// Mysql brukernavn $mysql_pass = "passord"; // Mysql passord $mysql_db = "sindrem"; // Mysql database $width = 100; // Bredde på thumbnails $height = 100; // Høyde på thumbnails $display = 8; // Antall thumbnail på hver side $per_linje = 4; // Antall thumbnails på hver linje $XX = "<br>Ingen bilder!</br>"; // Feilmelding dersom ingen bilder finnes. ?>
Vi trenger også en form, slik at brukeren har mulighet for å browse til den fila han ønsker, for så å laste denne opp. MAX_FILE_SIZE setter begrensninger på hvor stor fila som lastes opp, kan være. Oppgitt i kilobyte.
I fila upload.php:<form method="post" action="lastopp.php" enctype="multipart/form-data"> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000"> <br>Velg bilde du vil laste opp:<br> <input type="file" name="form_data" size="40"> <p><input type="submit" name="submit" value="submit"> </form>
Fila som er valgt i upload.php, sender vi så til lastopp.php. Denne filen laster bildet inn i en database.
I fila lastopp.php:
<?php
include('config.php');
MYSQL_CONNECT($mysql_host,$mysql_user,$mysql_pass);
mysql_select_db($mysql_db);
extract($_FILES['form_data']);
$data = mysql_escape_string(fread(fopen($tmp_name, "rb"), filesize($tmp_name)));
$info = getimagesize($tmp_name);
$width =$info[0];
$height=$info[1];
//echo "$height - $width";
$result=MYSQL_QUERY("INSERT INTO tbl_bilde (bin_data,filename,filesize,filetype,height,width)".
"VALUES ('$data','$name','$size','$type','$height','$width')");
print "<p>Bilde ble lastet opp.</b>";
MYSQL_CLOSE();
?>
Vi har nå lastet opp bildet vårt i databasen. I del 2 ser vi på hvordan vi kan skrive denne ut.
Til side 2 >>Funnet på PHPBuilder og skrevet om litt.