Heim > Backend-Entwicklung > PHP-Tutorial > Problem mit PHP beim Hochladen von Bildern, die nicht angezeigt werden können

Problem mit PHP beim Hochladen von Bildern, die nicht angezeigt werden können

卡哇伊
Freigeben: 2023-04-09 06:52:01
Original
2999 Leute haben es durchsucht

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.

Problem mit PHP beim Hochladen von Bildern, die nicht angezeigt werden können

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[&#39;img&#39;][&#39;type&#39;],$sort)){ 
 $img = "img";    //获取上传到的文件夹位置
//判断文件夹是否存在 ,如果不存在创建一个
if(!file_exists($img)){
   mkdir("$img",0700);        //0700最高权限
}
$time=date("Y_m_d_H_i_s");     //获取当前时间
$file_name = explode(".",$_FILES[&#39;img&#39;][&#39;name&#39;]);         //$_FILES[&#39;img&#39;][&#39;name&#39;] 上传文件的名称 explode字符串打断转字符串
$file_name[0]=$time; 
$name = implode(".",$file_name);    //implode 把数组拼接成字符串
$img_name = "img/".$name;
if(move_uploaded_file($_FILES[&#39;img&#39;][&#39;tmp_name&#39;],$img_name)){   //move_uploaded_file 移动文件
   echo "<center><img style=&#39;width:1000px;&#39; src=&#39;$img_name&#39;>
   <p>
   <a href=&#39;img_uploading.php&#39;>重新上传</a></p></center>";
}else{
     echo "上传失败"; 
}
}else{ 
echo "不是图片类型";
}
}
?>
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage