Heim > Fragen und Antworten > Hauptteil
Das Beispiel in diesem Artikel beschreibt die Methode zum Hochladen von Dateien und deren Speicherung in der Datenbank in PHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt: Die Datei
show_add.php lautet wie folgt:
<?php
if(!isset($_REQUEST['id']) or $_REQUEST['id']=="") die("error: id none");
$id = $_REQUEST['id'];
//Standortdatensatz, auslesen
$conn=mysql_connect("localhost","root","admin" );
$result = mysql_query($sql,$conn);
if(!$result) die("error: mysql query");
$num=mysql_num_rows($result);
if($num< 1) die(" error: no this recorder");
$data = mysql_result($result,0,"file_data");
$type = mysql_result($result,0,"file_type");
$ name = mysql_result($ result,0,"file_name");
mysql_close($conn);
//Zuerst den entsprechenden Dateiheader ausgeben und den ursprünglichen Dateinamen wiederherstellen
header("Content-type:$type" );
header("Content-Disposition: attachment; filename=$name");
echo $data;
?>
show_info.php-Datei lautet wie folgt:
<?php
if(!isset( $_REQUEST['id']) or $_REQUEST['id']=="") die("error: id none");
$id = $_REQUEST['id'];
//Standortdatensatz, auslesen
$conn=mysql_connect("localhost","root","admin");
if(!$conn) die("error: mysql connect failed");
mysql_select_db("nokia paymentplat", $conn);
$sql = "Dateiname, Dateigröße aus Empfang auswählen, wobei id=$id";
$result = mysql_query($sql,$conn);
if(!$result ) die(" error: mysql query");
//Wenn kein angegebener Datensatz vorhanden ist, wird ein Fehler gemeldet
$num=mysql_num_rows($result);
if($num<1) die(" error: no this recorder");
//Die folgenden zwei Sätze des Programms können auch so geschrieben werden
//$row=mysql_fetch_object($result);
//$name=$row->name;
//$size=$row->size;
$name = mysql_result($result,0 ,"file_name");
$size = mysql_result($result,0,"file_size");
mysql_close($conn);
echo "<hr>Informationen zur hochgeladenen Datei:";
echo "< ;br>Der Name der Datei – $name“;
echo „<br>Die Größe der Datei – $size“;
echo „<br><a href=show_add.php?id=$id> ;Anhang< ;/a>";
?>
submit.php-Datei lautet wie folgt:
<?php
if(is_uploaded_file($_FILES['myfile']['tmp_name'])) {
//Jetzt haben Sie Dateien hochgeladen
$myfile=$_FILES["myfile"];
//Legen Sie das Timeout-Limit fest, die Standardzeit beträgt 30 Sekunden, für unbegrenzte Zeit auf 0 gesetzt
$time_limit =60 ;
set_time_limit($time_limit); //
//Den Dateiinhalt in einen String einlesen
$fp=fopen($myfile['tmp_name'], "rb");
if(! $fp) die("Fehler beim Öffnen der Datei");
$file_data = addslashes(fread($fp, filesize($myfile['tmp_name'])));
fclose($fp);
unlink($ myfile[' tmp_name']);
//Dateiformat, Name, Größe
$file_type=$myfile["type"];
$file_name=$myfile["name"];
$file_size=$ myfile[" size"];
die($file_type);
//Mit der Datenbank verbinden und die Datei in der Datenbank speichern
$conn=mysql_connect("localhost","root","admin");
if (!$conn) die("error : mysql connect failed");
mysql_select_db("nokia paymentplat",$conn);
$sql="insert intoempfang
(file_data,file_type,file_name,file_size)
Werte ('$file_data','$file_type','$file_name',$file_size)";
$result=mysql_query($sql,$conn);
//Der folgende Satz entfernt die ID der Einfügeanweisung gerade
$id=mysql_insert_id();
mysql_close($conn);
set_time_limit(30); //Stellen Sie die Standard-Timeout-Einstellung wieder her
echo " Hochladen erfolgreich --- ";
echo "<a href='show_info.php?id=$id'>Informationen zur hochgeladenen Datei anzeigen</a>";
}
else {
echo "Du habe keine Datei hochgeladen";
}
?>
upload.php-Datei lautet wie folgt:
<html>
<head>
<title>Datei-Upload-Formular< /title>
</head>
<table>
<form enctype='multipart/form-data' name='myform' action='submit.php'
method='post '>
<INPUT TYPE = "hidden" NAME = "MAX_FILE_SIZE" VALUE ="1000000">
<tr><td>Upload-Datei auswählen</td><td>
< ;input name='myfile' type='file'></td></tr>
<tr><td colspan='2'><input name='submit ' value= 'Upload' type='submit'></td></tr>
</body>
</html>