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.