Sie sind auf Seite 1von 11

Dateien hochladen mit PHP und MySQL - Teil 2

die wollen ein Stall, in dem die Forschung möchte Upload Nacht Nacht
By: Wahyu Wibowo | 28. August 2008 | 12 Kommentare
In der Tat gibt es viele Methoden, die wir verwenden können, um die Datei zu speichern -
vor allem die Bilder - auf dem Web-Server. Kann speichern Sie die Datei direkt in das
Formular oder gespeichert werden können alle in der Datenbank.

In diesem Artikel werden wir nur die zwei Möglichkeiten, nämlich, wie Sie Image-
Dateien in der Datenbank. Das ist der Grund, warum in der Design-Tabelle in der ersten
Artikel, es filedata Feld mit Typ LONGBLOB.

Es gibt 4-Dateien, die erstellt werden soll, und zwar:

koneksi.php: Verbindung zum MySQL-Datenbank


index.php:, um die Liste der Dateien hochgeladen haben
upload.php: Uploaden einer Datei auf dem Server
download.php: zum Herunterladen einer Datei vom Server
Datenbank-Verbindung

Koneksi.php dieser Datei werden wir in den nächsten drei Dateien, die index.php,
download.php und upload.php.

Dateiname: koneksi.php

<? Php
$ Error_Message = "";

if (! @ mysql_connect ( "localhost", "user_foto", "123456"))


(
$ Error_Message = "Datenbank-Verbindung fehlgeschlagen!";
)

@ Mysql_select_db ( "Bilder");
?> Hochladen von Dateien

Der Prozess von dem Sie eine Datei im Prinzip nur das Kopieren der Dateien auf dem
lokalen Computer
und auf dem Server. Die Dateigröße, die hochgeladen werden an den Server ist in der
Regel eine Obergrenze. Daher brauchen wir auch, diesen Punkt zu prüfen.

Hier ist ein Beispiel-Source-Programm zum Hochladen von Dateien.

Dateiname: upload.php

<? Php
include ( "koneksi.php");
if ($ _POST)

(
$ Filedata = addslashes (fread (fopen ($ _FILES [ 'imagefile'] [ 'tmp_name'], 'r'),
$ _FILES [ 'Imagefile'] [ 'size']));
$ Filetype = $ _FILES [ 'imagefile'] [ 'type'];
Dateigröße $ = $ _FILES [ 'imagefile'] [ 'size'];
$ Filename = $ _FILES [ 'imagefile'] [ 'name'];
$ Description = $ _POST [ 'Beschreibung'];

$ Result = mysql_query ( "INSERT INTO-Upload (Beschreibung,


Dateityp, filedata, Dateiname, Dateigröße)
VALUES ( ' ". $ Beschreibung. "','". $ filetype.
"','". $ Filedata. "','". $ Filename.
" ',". Dateigröße $. ")");

if ($ result) echo "Upload erfolgreich";


)

?>

<html>
<head>
<title> Datei-Upload-Formular </ title>
</ Head>
<body>
<form enctype="multipart/form-data" method="post">
<table border="1">
<tr>
<td> Datei </ td>

<td> <input type="file" name="imagefile"> </ td>


</ Tr>
<tr>
<td> Beschreibung </ td>
<td> <input type="text" name="deskripsi"> </ td>
</ Tr>
<tr>
<td> </ td>
<td> <input type="submit" value="Upload"> </ td>
</ Tr>
</ Table>
</ Form>
</ Body>
</ Html> Datei-Download

Umgekehrt ist von der hochgeladenen Datei. In den Prozess, den wir haben, zu
konvertieren, das binäre Daten in einer Datenbank-Datei, wie sie sind.

Hier ist ein Beispiel-Source-Programm zum Herunterladen von Dateien.

Dateiname: index.php
<? Php
include ( "koneksi.php");

$ Data = @ mysql_query ( "select * from upload");


?>

<html>
<head>
Registrieren <title> Foto </ title>
</ Head>

<body>
<table border="1">
<tr>
<th> ID </ th>
<th> Dateiname </ th>
<th> Type </ th>
<th> Größe </ th>
<th> Beschreibung </ th>
<th> Download </ th>
</ Tr>
<? Php while ($ row = @ mysql_fetch_assoc ($ data)) (?>
<tr>
<td> <? = $ row [ 'id']?> </ td>
<td> <? = $ row [ 'filename']?> </ td>
<td> <? = $ row [ 'filetype']?> </ td>
<td> <? = $ row [ 'Dateigröße']?> </ td>
<td> <? = $ row [ 'Beschreibung']?> </ td>
<td> <a href = "download.php? id =<?=$ Zeile [ 'id']?>"> Download </ a> </ td>
</ Tr>
<? Php)?>
</ Table>
</ Body>
</ Html> Datei-Name: download.php

<? Php
include ( "koneksi.php");

$ Data = @ mysql_query ( "select * from, in dem die Upload -


id = ". $ _REQUEST [ 'id']);

if ($ row = @ mysql_fetch_assoc ($ data))


(
$ Filedata = $ row [ 'filedata'];
$ Description = $ row [ 'Beschreibung'];
$ Filename = $ row [ 'filename'];
$ Filetype = $ row [ 'filetype'];
Dateigröße $ = $ row [ 'Dateigröße'];
)

header ( 'Content-type: ". $ filetype);


header ( 'Content-length:'. $ filesize);
header ( "Content-Transfer-Encoding: binarynn");
header ( "Pragma: no-cache");
header ( "Expires: 0");
header ( 'Content-Disposition: attachment; filename = "'. $ filename .'"');
echo $ filedata;
exit ();
> Hoffentlich hilfreich.

Tags: MySQL, PHP


Sie wie diesem Artikel?
Worauf warten Sie noch! Sofort anmelden
RSS-Feed oder E-Mail-Newsletter an!
Verwandte Artikel Top Artikel
Dateien hochladen mit PHP und MySQL - Teil 3
Dateien hochladen mit PHP und MySQL - Teil 1
Ayo Belajar Bikin Polling Anwendung - Bag. 2
So erstellen Sie eine Website mit Joomla - Bag. 2
Ayo Belajar Bikin Polling Anwendung - Bag. 3
Dateien hochladen mit PHP und MySQL - Teil 2
Icon-Display auf der Website Yahoo Messenger
Schritt für Schritt, wie man ein Blog auf Blogger
Dateien hochladen mit PHP und MySQL - Teil 1
Quick Tricks, die indiziert werden sollen Website-Search Engine

Was ist Ihr Kommentar?


Monggo, wenn Sie wollen, zu jeder Beiträge oben! Fragen oder auch kritisieren kann,
aber nicht allzu schmerzhaft.

1. ace | September 9th, 2008 at 2:43 pm

Ich versuche nicht sinnvoll Dolo ya tar klo ada yg eror ich
2. skotlet | September 29th, 2008 at 3:38 pm

Was nicht die Image-Datei?

tersbut und Dateien in den Ordner


nicht in der DB
Offenbarung:
Gleichen Prinzip, ein anderes Mal werde ich hier studieren.
3. mozink | November 19th, 2008 at 11:03

Dank ..
4. Miftah | 3. Dezember 2008 um 11:57

Wah passiert wieder aqu Suche Tutorial-Upload ein Bild von praktekq Berichte. danke
banget BWT tutorialnya, ntar qu Initiative können versuchen ....
5. Arif | 14. Januar 2009 auf 1.26 Uhr

Ich wieder die KP, ist nicht erst versuchen, so yaaaaa


6. idegustta | 19 Januar 2009 auf 8.57

Makasi banyak Stirn ... Ich teile Ihre Dah.


7. NDO | 9. Februar 2009 6:31 pm

Dank infonya ...

mas mo mich fragen, ist dies auch praktisch und erfolgreich (mit ein wenig ändern), aber
ich max filnya rund 500KBytes yah?
wenn ich sie hochgeladen Mo nyampe 5Mbytes

bantuanya bitte ... ..


8. yusuf | 10 Februar 2009 auf 9.13

MATUR nuwun Wissen


9. Firma | 12. März 2009 auf 6.42 Uhr

kok Fehler in upload.php ... ... ... ... ....


Parse error: syntax error, unexpected ' "' in C: \ xampp \ htdocs \ Upload \ upload.php on
line 17

Wahyu Wibowo:
Leider gibt es falsch.
10. Cloud | 1. April 2009 3:18 pm

Kok GAK upload.php seinen Eintrag in eine Datenbank. Bitte Bestätigung dunks. Thx
*** Es ist mir betulkan. Jetzt Allah hat.
11. Judo | 4. April, 2009 um 10:20 Uhr

Dank ya bis scriptnya Beispiel. Ich pngn tnya, bgmna crnya bearbeiten Form, um eine
Online-"sprti Bloger"
12. Ryan | 6. Mai, 2009 1:54 pm

mkacih scripnya ... .. dank scriptnya aq bs nyelesain Schularbeiten benötige ich zum
Hochladen
Zusammenhang habe ich jünger GK.
Eine Nachricht hinterlassen
Ihr Name

E-Mail-Adresse

Website

Indonesian—Detect language—
AlbanianArabicBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFili
pinoFinnishFrenchGalicianGermanGreekHebrewHindiHungarianIndonesianItalianJapane
seKoreanLatvianLithuanianMalteseNorwegianPersian
ALPHAPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwedishThai
TurkishUkrainianVietnamese > German—AlbanianArabicBulgarianCatalanChinese
(Simplified)Chinese
(Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianG
ermanGreekHebrewHindiHungarianIndonesianItalianJapaneseKoreanLatvianLithuanian
MalteseNorwegianPersian
ALPHAPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwedishThai
TurkishUkrainianVietnamese swap MYSQL-Upload per FTP

-------------------------------------------------- ------------------------------

Wenn ich eine MySQL-Datenbank-Upload-Datei (~ 400 MB) per FTP, welche Dateien in
das lokale Verzeichnis mysql \ data \ geladen werden soll? Da sehe ich Dateien mit der
Extension. Opt. Frm. MYD. Myi, und einige ohne Verlängerung an. Wer eine Idee?
Danke.

JM2008
Öffentliches Profil ansehen
Senden Sie eine Private Nachricht an JM2008
Hier finden Sie alle Beiträge von JM2008
# 2 12-06-2008, 08:48 AM
dkinzer
Senior Member Join Date: Jul 2006
Ort: Portland, OR
Beiträge: 265

-------------------------------------------------- ------------------------------

Zitat:
Zitat von JM2008
Wenn ich eine MySQL-Datenbank-Upload-Datei (~ 400 MB) per FTP, welche Dateien in
das lokale Verzeichnis mysql \ data \ geladen werden soll?

Der beste Weg (vielleicht der einzige Weg) ist es, eine Reihe von Fragen, die
Wiederherstellung der Datenbank. Dies kann ganz einfach mit mysqldump.

Mit der sich daraus ergebenden Fragen zu rekonstruieren, die Datenbank kann einfacher,
wenn Sie SSH-Zugang.
__________________
Don Kinzer
ZBasic Mikrocontroller

dkinzer
Öffentliches Profil ansehen
Senden Sie eine Private Nachricht an dkinzer
Besuchen Sie dkinzer's homepage!
Hier finden Sie alle Beiträge von dkinzer

# 3 12-06-2008, 10:10 AM
JM2008
Junior Mitglied seit: Dezember 2008
Beiträge: 9

Ist mysqldump, eine 400MB-Datenbank?

-------------------------------------------------- ------------------------------

Zitat:
Zitat von dkinzer
Der beste Weg (vielleicht der einzige Weg) ist es, eine Reihe von Fragen, die
Wiederherstellung der Datenbank. Dies kann ganz einfach mit mysqldump.
Mit der sich daraus ergebenden Fragen zu rekonstruieren, die Datenbank kann einfacher,
wenn Sie SSH-Zugang.

Ich habe meine Codes localhost und denken, dass es Zeit zum Hochladen meiner
Datenbank zu Kick-off. Aber ich bin wirklich neu für Server-Host-Schnittstelle, gibt es
eine Schritt-für-Schritt-Anleitung mit mysqldump über SSH?

Was passiert, wenn der Upload unterbrochen wird nach etwa 200 MB, was soll ich tun
mit dem Rest? neu starten oder neu zu beginnen? Danke.

JM2008
Öffentliches Profil ansehen
Senden Sie eine Private Nachricht an JM2008
Hier finden Sie alle Beiträge von JM2008

# 4 12-06-2008, 10:48 AM
alemcherry
Mitglied seit: März 2008
Beiträge: 80

-------------------------------------------------- ------------------------------

Zitat:
Zitat von JM2008
Ich habe meine Codes localhost und denken, dass es Zeit zum Hochladen meiner
Datenbank zu Kick-off. Aber ich bin wirklich neu für Server-Host-Schnittstelle, gibt es
eine Schritt-für-Schritt-Anleitung mit mysqldump über SSH?

Was passiert, wenn der Upload unterbrochen wird nach etwa 200 MB, was soll ich tun
mit dem Rest? neu starten oder neu zu beginnen? Danke.

Sie müssen wissen, grundlegende Kenntnisse über Shell-Befehle, um effektiv tun es über
ssh. Grundsätzlich ist es nur um die Umstellung auf dem Verzeichnis, das Sie
hochgeladen und dann die Ausführung von mysqldump oder mysql-u-p-Befehle.

Die Unterbrechung kann so behandelt werden, als nur eine andere Datei-Upload. Wenn
Ihr fp-Client und-Server unterstützt wieder, so wird sie über. Andernfalls, wenn Sie
versuchen, zu laden, wählen Sie einfach überschreiben Option, wenn Sie dazu
aufgefordert werden.
__________________