Avatar billede cdmann Nybegynder
06. april 2005 - 12:50 Der er 4 kommentarer og
1 løsning

Billeder i database med php

Jeg har fundet sådan en billeder som kan oploades og sættes ind
i en database.
Jeg har skrevet det rigtigt , MEN jeg kan ikke få
det til at virke ?
Kan nogle sige mig hvorfor ?

her er den:

Tabellen :

<?php
// CREATE TABLE files (
// id int(11) DEFAULT '0' NOT NULL auto_increment,
// file_code blob NOT NULL,
// file_size int(50) DEFAULT '0' NOT NULL,
// file_type varchar(50) NOT NULL,
// PRIMARY KEY (id)
// );

Tabel slut

Form.html  (jeg har fjernet php tegnene)

<form action="Filer_i_mysql.php" method="post" enctype="multipart/form-data">
Select file: <input type="file" name="form_data">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000"><br>  //Defines max_file_size of files
<input type="submit">
</form>


Filer_i_mysql.php :

if ($form_data && $form_data != "none") {
    $file_code = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
    $connect = mysql_connect("MYSQLSERVER","USERNAME","PASSWORD");
    mysql_select_db("YOURDB",$connect);
    if (mysql_query("insert into files (file_code, file_size, file_type) values ('$file_code', '$form_data_size', '$form_data_type')")) {
        echo "Your file is saved i the mysql-table 'files'";
    } else {
        echo "A problem occured, and the file hasn't been saved";
    }
}



og endelig :

<?php
// files in mysql by Jonas Delfs
// jonas at delfs dot dk
// http://delfs.dk

$connect = mysql_connect("MYSQLSERVER","USERNAME","PASSWORD");
mysql_select_db("YOURDB", $connect);

$q = mysql_query("SELECT file_code,file_type FROM files WHERE id='$id'") or die(mysql_error());
if (mysql_num_rows($q)) {
    extract(mysql_fetch_array($q));

    header("Content-type: $file_type");
    echo $file_code;
} else {
    echo "404 - file not found!";
}
?>

Jeg får den fejl :

A problem occured, and the file hasn't been saved og
404 - file not found

Men hvorfor ?
Avatar billede barklund Nybegynder
06. april 2005 - 13:14 #1
indeholder Filer_i_mysql.php kun hvad du har skrevet?

Og hvilken PHP-version bruger du? Jeg tror du skal bruge $_FILES objektet istedetfor ovenstående.
Avatar billede cdmann Nybegynder
06. april 2005 - 15:35 #2
Det står så her

Filer_i_mysql.php :

if ($form_data && $form_data != "none") {
    $file_code = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
    $connect = mysql_connect("MYSQLSERVER","USERNAME","PASSWORD");
    mysql_select_db("YOURDB",$connect);
    if (mysql_query("insert into files (file_code, file_size, file_type) values ('$file_code', '$form_data_size', '$form_data_type')")) {
        echo "Your file is saved i the mysql-table 'files'";
    } else {
        echo "A problem occured, and the file hasn't been saved";
    }
}
Avatar billede barklund Nybegynder
06. april 2005 - 17:24 #3
Jeg tror du skal lave det om, så du bruger $_FILES arrayet i stedet. Du kan læse en artikel om det her: http://razor.dk/php/guider/upload/

--
Morten Barklund
Avatar billede cdmann Nybegynder
04. maj 2005 - 14:40 #4
send et svar
Avatar billede cdmann Nybegynder
01. august 2005 - 13:39 #5
tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester