2006-10-11, 01:15
#1
Hej.. jag har suttit och googlat ett bra tag nu men jag lyckas inte hitta någon lösning på mitt problem..
Jag försöker ladda upp en mp3fil till min databas.
Alltså så att filen sparas i databasen som en BLOB, inte bara till en mapp på webservern.
Följande fel dyker upp när jag försöker ladda upp en fil:
"fread(): supplied argument is not a valid stream resource"
Det skapas en entry i databasen fast BLOB-objektet är bara 0-bytes.
(Jag lyckades för länge sedan ladda upp en bild och spara den i databasen som en BLOB (med en annan tutorial jag hittade), är det någon skillnad på att mata in bilder / mp3filer i databasen?)
Koden jag mekar i nu (har googlat tutorials ett bra tag) ser ut enligt följande:
Jag försöker ladda upp en mp3fil till min databas.
Alltså så att filen sparas i databasen som en BLOB, inte bara till en mapp på webservern.
Följande fel dyker upp när jag försöker ladda upp en fil:
"fread(): supplied argument is not a valid stream resource"
Det skapas en entry i databasen fast BLOB-objektet är bara 0-bytes.
(Jag lyckades för länge sedan ladda upp en bild och spara den i databasen som en BLOB (med en annan tutorial jag hittade), är det någon skillnad på att mata in bilder / mp3filer i databasen?)
Koden jag mekar i nu (har googlat tutorials ett bra tag) ser ut enligt följande:
Kod:
<form action="index.php?a=upload" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile" type="file" id="userfile">
<input name="upload" type="submit" id="upload" value="Upload binary file">
</form>
<?
if ($_GET['a'] == "upload")
{
include("db.php");
if(isset($_POST['upload']))
{
//get file information --step1
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
//get file content -- step1
$fp = fopen($tmpName, 'r');
$content = fread($fp, $fileSize);
$content = addslashes($content);
fclose($fp);
//insert into database --step3
$query = "INSERT INTO mp3files (file) VALUES ('$content')";
mysql_query($query) or die('Error, query failed');
//return insert information to client
$id= mysql_insert_id();
echo "File<b> $fileName</b> uploaded as id= $id<br>";
}
}
?>