InFlame
Erfahrenes Mitglied
Hallo,
nach langer PHP-Auszeit möchte ich nun wieder anfangen, etwas mit PHP zu machen.
Hab mir mal eine DVD Datenbank vorgenommen. Da eine DVD Datenbank mit Cover schöner ist möchte ich mein Eintragungsscript um einen Upload erweitern.
Für das hochladen von localen Dateien hab ich das Tutorial von hier benutzt (vielen Dank für) und es funktioniert soweit ganz gut.
Jetzt möcht ich aber auch von einer externen http url ein Bild hochladen und hab überhaupt keine Ahnung, wie das funktionieren soll.
Hier mal mein Script das für die Verarbeitung des Formulars zustänig ist:
Habe mir überlegt, dass ich ganz einfach per Optionsschalter überprüfe, ob die Datei von Local oder HTTP kommt. Je nachdem soll er das verabeiten. Wie gesagt, local funktioniert soweit (müssen nur noch kleine Änderungen vorgenommen werden) doch leider fehlt mir für den http Teil alles.
Hat da jemand eine Idee? Wäre für Hilfe sehr dankbar!
nach langer PHP-Auszeit möchte ich nun wieder anfangen, etwas mit PHP zu machen.
Hab mir mal eine DVD Datenbank vorgenommen. Da eine DVD Datenbank mit Cover schöner ist möchte ich mein Eintragungsscript um einen Upload erweitern.
Für das hochladen von localen Dateien hab ich das Tutorial von hier benutzt (vielen Dank für) und es funktioniert soweit ganz gut.
Jetzt möcht ich aber auch von einer externen http url ein Bild hochladen und hab überhaupt keine Ahnung, wie das funktionieren soll.
Hier mal mein Script das für die Verarbeitung des Formulars zustänig ist:
PHP:
<?php
include("inc/db_dvd.inc.php");
?>
<?php
//Variabeln erzeugen
$title = $_POST['title1'];
$orig_title = $_POST['orig_title1'];
$land = $_POST['land1'];
$jahr = $_POST['jahr1'];
$regie = $_POST['regie1'];
$darsteller = $_POST['darsteller1'];
$genre = $_POST['genre1'];
$inhalt = $_POST['inhalt1'];
$fsk = $_POST['fsk1'];
$go = $_POST['go1'];
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$http = $_POST['http'];
//WEITER
if ($go == 1) {
if ($title=="" || $darsteller=="" || $inhalt=="") {
?>
<html>
<head>
<title>Ein Fehler ist aufgetreten</title>
</head>
<body>
<center>
<font size="5" color="red"><b>! FEHLER !</b></font>
<p> </p>
Es sind nicht alle Felder ausgefüllt worden. Bitte <b>alles</b> ausfüllen.
<p> </p>
<a href="javascript:history.back(-1)">zurück</a>
</center>
</body>
</html>
<?php die ?>
<?php
} else {
if ($http == nein) { //Prüft ob HTTP an oder aus
//-- UPLOAD
if($type != "image/gif" && $type != "image/jpeg") {
$err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden.";
}
if($size > "40000") {
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 15 KB!";
}
if (empty($err)) {
copy("$tempname", "images/$name");
}
else {
foreach($err as $error)
die("<center><font color=\"red\"><b>FEHLER</b></font><br>$error<p> </p><a href=\"javascript:history.back(-1)\">zurück</a> | <a href=\"auslesen.php3\">weiter</a></center>");
}
} else { //WENN HTTP = AN
echo "noch keine Funktion vorhanden";
}
//-- UPLOAD ENDE
mysql_query("INSERT INTO dvd (title,orig_title,land,jahr,regie,darsteller,genre,inhalt,fsk,bild) VALUES ('$title','$orig_title','$land','$jahr','$regie','$darsteller','$genre','$inhalt','$fsk','$name')");
}
}
?>
<html>
<head>
<title>DVD erfolgreich eingetragen</title>
</head>
<body>
<?php
if ($http == ja) {
echo "HTTP AN";
} else {
echo "HTTP AUS";
}
?>
<p> </p>
<p> </p>
<font size="4"><center>DVD <b>"<?php echo $title ?>"</b> wurde erfolgreich eingetragen.<br>Es wurde folgende Bilddatei hoch- und eingetragen: <?php echo $name ?></font>
<?php
?>
<p> </p>
<table width="38%" border="0">
<tr>
<td><a href="formular.htm">Noch eins Eintragen</a></td>
<td><a href="auslesen.php3">Zur Datenbank</a> </td>
</tr>
</table>
</center>
</body>
</html>
<?php
mysql_close();
?>
Habe mir überlegt, dass ich ganz einfach per Optionsschalter überprüfe, ob die Datei von Local oder HTTP kommt. Je nachdem soll er das verabeiten. Wie gesagt, local funktioniert soweit (müssen nur noch kleine Änderungen vorgenommen werden) doch leider fehlt mir für den http Teil alles.
Hat da jemand eine Idee? Wäre für Hilfe sehr dankbar!