PHP Bild Upload Script
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abrufen
art
bestimmte datei
bild
code
datei
eingabefeld
endung
erlaubt code
extension
file
folgendes problem
funktion
inhalt
kopieren
rand
server
speichern
stehen
url
-
Hallo liebe Community,
ich habe folgendes Problem mit PHP:
Ich will eine Funktion machen in der man einen Link von einem Bild eingeben kann und dieses Bild dann auf dem Server gespeichert wird und man es abrufen kann, ein Art Bilderhosting. Es funktioniert alles bis das die endung der Datei immer automatisch zu .png geändert wird. Hier ist der Script:
if(isset($_POST['url'])) { $contents= file_get_contents($_POST['file']); $savename = md5($_POST['file']); $savename .= rand(1,9999999); $savefile = fopen("up/$savename.png", "w"); fwrite($savefile, $contents); fclose($savefile);
Ich will das die Dateiendung erhalten bleibt, weiß jedoch nicht wie ich das machen soll. Das mit dem PNG habe ich vorläufig gemacht bis ich eine Lösung gefunden habe.
Beitrag zuletzt geändert: 29.4.2013 18:00:42 von jqni -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wo kommt das $_POST['file'] her .... sollte wohl $_POST['url'] sein ?!
hier mal Beispiel mit nur bestimmte Datei-Endungen erlaubt
if(isset($_POST['url'])) { $quelldatei = $_POST['url']; // --- hier noch prüfen ob Datei zur URL existiert $contents = file_get_contents($quelldatei); // --- hier noch prüfen ob Datei Inhalt bösen Code enthält $allowedExts = array("gif", "jpeg", "jpg", "png"); $extension = end(explode(".", $quelldatei)); if ( in_array($extension, $allowedExts) ) { $savename = md5($quelldatei) . rand(1,9999999); $savefile = fopen("up/".$savename.".".$extension."", "w", 0666); fwrite($savefile, $contents); fclose($savefile); }
alternativ ... einfach mit copy() die Datei kopieren ... wenn der Server das erlaubt
copy($quelldatei , "up/".$savename.".".$extension);
... aber ich würde den Inhalt der Datei immer vor Speichern noch prüfen,
denn auch innerhalb einer Bild-Datei kann "böser" Code (hack) stehen
Beitrag zuletzt geändert: 29.4.2013 18:31:14 von opsuche -
Danke, genau das hab ich gesucht!!:)
$_POST['url'] ist der Button und $_POST['file'] das eingabefeld
Beitrag zuletzt geändert: 30.4.2013 14:31:48 von jqni -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage