Hej, jag vill ladda upp word-/exceldokument f lagring i databas(nej, jag vill inte lagra dem som filer i ngn katalog ;) ). Jag har skapat tabell & fält f detta(longblob).
Hittade nedanstående som jag pillat lite med, bl a bytt ($form_data, "r") till ($form_data, "rb") eftersom jag kör på win xp
<?php
// store.php3 - by Florian Dittmer <dittmer@gmx.net>
// Example php script to demonstrate the storing of
// binary files into an sql database.
// More information can be found at
// [url]http://www.phpbuilder.com/[/url]
?>
<html>
<head><title>Store binary data into SQL Database</title></head>
<body>
<?php
if (isset($_POST['submit'])) {
include ("conn.php");
$connection = mysql_connect($host, $user, $password) or die("Kunde inte skapa koppling!");
mysql_select_db($db,$connection) or die("Kunde inte välja databas");
$data = addslashes(fread(fopen($form_data, "rb"), filesize($form_data)));
$result=MYSQL_QUERY("INSERT INTO tbl_files (description, bin_data, filename, filesize, filetype) ".
"VALUES ('$strDescription','$data','$form_data_name','$form_data_size','$form_data_type')");
$id= mysql_insert_id();
echo mysql_errno($connection) . ": " . mysql_error($connection) . "\n";
print "<p>This file has the following Database ID: <b>$id</b>";
MYSQL_CLOSE();
} else {
?>
<form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
File Description:<br>
<input type="text" name="strDescription" size="40">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<br>File to upload/store in database:<br>
<input type="file" name="form_data" size="40">
<p><input type="submit" name="submit" value="submit">
</form>
<?php
}
?>
</body>
</html>
Felmeddelandet:
Warning: fread(): supplied argument is not a valid stream resource in C:\Apache2\htdocs\add_files\add2.php on line 24
Alltså den här raden:
Av ditt felmeddelande ser det snarare ut som om den temporära filen inte kunde öppnas.
Är register_globals satt på på din server ?
Om inte måste du istället använda $_FILES['form_data']['tmp_name'], vilket du bör vänja dig vid att göra i vilket fall.
Dela upp din kod lite för att få ett felmeddelande även när du försöker öppna filen.
Jättebra, skall testa detta omgående, återkommer med resultat. :)
(Bakgrunden t att spara dok i db är att jag vill kunna spara o öronmärka dokument för x antal företag på ett o samma ställe och slippa en djungel av kataloger/underkataloger utanför root. Funderade på att vid uppladdning döpa om varje dok m företagspec prefix spara i en katalog och strippa detta vid läsning/nedladdning men det kändes "meckigt".
:)
276 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849