Heim > Datenbank > MySQL-Tutorial > Ausführliche Erläuterung von Beispielen für die Speicherung von Bildern in PHP in MySQL

Ausführliche Erläuterung von Beispielen für die Speicherung von Bildern in PHP in MySQL

Y2J
Freigeben: 2017-05-23 15:06:58
Original
1846 Leute haben es durchsucht

Wenn Sie Binärdaten wie Bilddateien und HTML-Dateien direkt in Ihrer MySQL-Datenbank speichern möchten, dann ist dieser Artikel genau das Richtige für Sie! Ich zeige Ihnen, wie Sie diese Dateien über HTML-Formulare speichern und wie Sie auf diese Dateien zugreifen und sie verwenden.
Übersicht über diesen Artikel:
. Erstellen Sie eine neue Datenbank in MySQL
. Ein Beispielprogramm zum Speichern von Dateien
. Ein Beispielprogramm für den Zugriff auf Dateien
Erstellen Sie eine neue Datenbank in MySQL
Zuerst müssen Sie eine neue Datenbank in Ihrem MySQL erstellen. Wir werden diese Binärdateien in dieser Datenbank speichern. Im Beispiel verwende ich die folgende Struktur. Um die Datenbank zu erstellen,
müssen Sie die folgenden Schritte ausführen:
. Geben Sie den MySql-Controller
ein. Geben Sie den Befehl „Datenbank Binärdaten erstellen;“ ein. Geben Sie den Befehl „binäre_Daten verwenden“ ein. Geben Sie den Befehl
"CREATE TABLE Binary_Data (ID INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,Beschreibung CHAR(50), Bin_Data LONGBLOB, Dateiname CHAR(50), Dateigröße CHAR(50), Dateityp CHAR(50)" ein. " (Zeilen können nicht umgebrochen werden)
Wenn es keine Unfälle gibt, sollten die Datenbank und die Tabellen eingerichtet werden.
Ein Beispielprogramm zum Speichern von Dateien
Mit diesem Beispiel können Sie Dateien über ein HTML-Formular in die Datenbank übertragen.
store.php3
// store.php3 - von Florian Dittmer
// Wenn das Formular abgeschickt wird, wird der Code ausgeführt:
if ($submit) {
// Mit der Datenbank verbinden
// (Möglicherweise müssen Sie den Hostnamen, den Benutzernamen und das Passwort anpassen)
MYSQL_CONNECT( "localhost", "root", "password ");
mysql_select_db( "binary_data");
$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
$result=MYSQL_QUERY( " INSERT INTO binäre_Daten ( Beschreibung, Bin_Daten, Dateiname, Dateigröße, Dateityp)
[Weiter mit der vorherigen Zeile:] VALUES ($form_description,$data,$form_data_name,$form_data_size,$form_data_type)");
$id = mysql_insert_id();
print "
Diese Datei hat die folgende Datenbank-ID: $id";
MYSQL_CLOSE(); sonst {
// Zeigen Sie das zu speichernde Formular an neue Daten
?>
Dateibeschreibung:

Datei zum Hochladen/Speichern in der Datenbank:

}
?> Sie sehen ein einfaches HTML-Formular. Klicken Sie auf „Durchsuchen“, um eine Datei auszuwählen, und klicken Sie dann auf „Senden“.
Wenn die Datei auf den Webserver hochgeladen wird, teilt Ihnen das Programm die ID der gerade hochgeladenen Datei mit. Merken Sie sich diese ID für die spätere Verwendung.
Ein Beispielprogramm zum Zugriff auf Dateien
Sie können über dieses Programm auf die Datei zugreifen, die Sie gerade gespeichert haben
// getdata.php3 - von Florian Dittmer Aufrufmethode: getdata.php3?id=
if($id) {
// Möglicherweise müssen Sie den Hostnamen, den Benutzernamen und das Passwort anpassen:
@MYSQL_CONNECT( "localhost", "root", " Passwort" );
@mysql_select_db( "binary_data");
$query = "wähle bin_data,Dateityp aus binären_Daten aus, wobei id=$id";
$result = @MYSQL_QUERY($query);
$ data = @MYSQL_RESULT($result,0, "bin_data");
$type = @MYSQL_RESULT($result,0, "filetype"); ;
echo $data;
};
Das Programm muss wissen, auf welche Datei es zugreifen soll, und Sie müssen die ID als Parameter übergeben.
Zum Beispiel: Die ID einer Datei in der Datenbank ist 2. Sie können sie wie folgt aufrufen:
getdata.php3?id=2
Wenn Sie das Bild in der Datenbank speichern, können Sie es aufrufen Als würde man das Bild so nennen.
Beispiel: Eine Bilddatei hat die ID 3 in der Datenbank. Sie können sie wie folgt aufrufen:
So speichern Sie Dateien, die größer als 1 MB sind:
Wenn Sie Dateien speichern möchten, die größer als 1 MB sind, müssen Sie dies tun Konfigurieren Sie Ihr Programm, PHP-Einstellungen und SQL-Einstellungen, um viele Änderungen vorzunehmen.
Die folgenden Elemente können Ihnen beim Speichern von Dateien helfen, die kleiner als 24 MB sind:
1. Ändern Sie store.php3 und ändern Sie den Wert von MAX_FILE_SIZE auf 24000000.
2. Ändern Sie Ihre PHP-Einstellungen. Unter normalen Umständen erlaubt PHP nur Dateien, die kleiner als 2 MB sind. Sie müssen den Wert von max_filesize (in php.ini) auf 24000000 ändern. 3. Entfernen Sie unter normalen Umständen MYSQL ist weniger als 1 MB Datenpaket.
4. Sie müssen Ihr MYSQL mit den folgenden Parametern neu starten:
/usr/local/bin/safe_mysqld -O key_buffer=16M -O table_cache=128 -O sort_buffer =4M -O record_buffer=1M -O max_allowed_packet=24M
5. Wenn der Fehler weiterhin auftritt:
Es kann sich um einen Timeout-Fehler handeln. Wenn Sie eine große Datei über eine sehr langsame Verbindung speichern, beträgt die Standardzeit von PHP 30 Sekunden. Sie können den Wert von max_execution_time (in php.ini) in -1 ändern

[Verwandte Empfehlungen]

Kostenloses MySQL-Video-Tutorial

2.

Detaillierte Erklärung zum Schreiben von SQL-Anweisungen zum Löschen von Tabellen in verschiedenen Datenbanken

3.

Lernen Sie, wie Sie auf einem Computer mehrere MySQL-Dienste ausführen

4.

Kleines MySQL-Datenbank-Backup-Skript ohne virtuellen Host

5.

Detailliertes Beispiel für die Verwendung von MySQLdump zum Sichern und Wiederherstellen von Tabellen

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen für die Speicherung von Bildern in PHP in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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