Die allgemeine Methode zum Hochladen von Bildern in die Datenbank und deren anschließende Anzeige besteht darin, eine dedizierte PHP-Seite zu schreiben, die Bild-ID über die GET- oder POST-Methode abzurufen, die Datenbank abzufragen und den Bildtyp über die Header-Funktion auszugeben , und geben Sie dann die Bilddaten wieder.
Problemdetails:
php kann über das Formular Dateien in das Feld blob
der Datenbank hochladen, und dann ausgeben. Tatsächlich besteht ein besserer Ansatz darin, die Datei auf dem Server zu speichern und nur die relevanten Informationen in der Datenbank aufzuzeichnen, aber Sie können nicht immer das tun, was Sie möchten. Nein, ich kann nur Bilder in die Datenbank hochladen und sie dann auf der Webseite anzeigen, aber ich bin auf ein Problem gestoßen: Die Bilder können nicht angezeigt werden.
Die allgemeine Methode zum Hochladen von Bildern in die Datenbank und deren anschließende Anzeige besteht darin, eine dedizierte PHP-Seite zu schreiben, die Bild-ID über die Methode GET
oder POST
abzurufen, die Datenbank abzufragen und die Header-Funktion auszugeben Geben Sie den Bildtyp ein und geben Sie dann die Bilddaten wieder. Das ist kein Problem mit dieser Methode, aber ich habe ein Problem. Das Bild kann nicht angezeigt werden.
Ich habe viele Informationen im Internet gesucht und viele Methoden ausprobiert, aber schließlich habe ich keine Antwort auf stack overflow
gefunden. Da es auf Englisch ist, werde ich den Originalsatz nicht zitieren Inhalt ist: header
Diese Funktion hat einige Besonderheiten. Achten Sie darauf, keine anderen Header oder anderen Inhalte vor der header
-Position zu haben. Das Ergebnis ist dieses Problem, da ich eine PHP-Datei geschrieben habe, die einige allgemeine Funktionen enthält, einschließlich Javascript-Funktionen , ich gebe das Bild aus. Entfernen Sie einfach die require-Anweisung aus der PHP-Datei und das Bild wird ausgegeben.
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="html/text;charset=utf-8"/> </head> <body> <form action="#" name="form" method="post" enctype="multipart/form-data"> <p> <input type="file" name="img" value="选择上传文件"/> </p> <input type="submit" value="上传"/> </form> </body> </html> <?php date_default_timezone_set("PRC"); //设置时区 if(count($_FILES)>0){ $sort = array("image/jpeg","image/jpg","image/gif","image/pdg"); //判断是否是图片类型 if(in_array($_FILES['img']['type'],$sort)){ $img = "img"; //获取上传到的文件夹位置 //判断文件夹是否存在 ,如果不存在创建一个 if(!file_exists($img)){ mkdir("$img",0700); //0700最高权限 } $time=date("Y_m_d_H_i_s"); //获取当前时间 $file_name = explode(".",$_FILES['img']['name']); //$_FILES['img']['name'] 上传文件的名称 explode字符串打断转字符串 $file_name[0]=$time; $name = implode(".",$file_name); //implode 把数组拼接成字符串 $img_name = "img/".$name; if(move_uploaded_file($_FILES['img']['tmp_name'],$img_name)){ //move_uploaded_file 移动文件 echo "<center><img style='width:1000px;' src='$img_name'> <p> <a href='img_uploading.php'>重新上传</a></p></center>"; }else{ echo "上传失败"; } }else{ echo "不是图片类型"; } } ?>
Ich muss sagen, dass das Programmieren manchmal Kopfschmerzen bereitet. Allein aufgrund einer Aussage habe ich einen Tag gebraucht, um verschiedene Methoden auszuprobieren Wenn das Programm erfolgreich verläuft, ist das Erfolgserlebnis und die Zufriedenheit wirklich unvergesslich.
Weitere Lerntutorials: Tutorial zum Hochladen von PHP-Bildern
Das obige ist der detaillierte Inhalt vonProblem mit PHP beim Hochladen von Bildern, die nicht angezeigt werden können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!