Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

PHP - Datein Upload - WICHTIG

Hi leute!
Ich habe volgenden php script, womit man Bilder hochladen kann:

<?php
#Scriptcopyright by [email protected]

$ordner = "bilder/"; // Ordner für die Bilder, braucht chmods 777
$maxhoehe = "2222"; // max. bildhöhe
$maxbreite = "2222"; // max. Bildbreite

if(!empty($file_name)) {
if(copy($file,"$ordner$file_name")) {
if($file_type == "image/jpeg" or $file_type == "image/png" or $file_type == "image/gif" or $file_type == "image/bmp" or $file_type == "image/dib" or $file_type == "image/tif" or $file_type == "image/tiff") {
$typ = "ok";
} else {
unlink("$ordner$file_name");
echo "Falscher Dateityp";
exit; }

$size = getimagesize("$ordner$file_name");
if($size[0]>$maxbreite or $size[1]>$maxhoehe or $size[0]=="") {
echo "Bild zu groß.";
} else {
$groesse = "ok"; }

if($groesse == "ok" and $typ =="ok") {
echo "Die Datei wurde erfolgreich hochgeladen";
}}} else {
?>
<html>
<title>Bilder hochladen</title>
<form enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" name="file"><br>
<input type="submit" name="Speichern" value="hochladen">
</form></html>
<?php } ?>

Ok, wie mache ich den jetzt ein Datein upload, ich habe es mal probiert, aber es klappte nicht. Ich habe den Script einfach umgeänder: so:
<?php
#Scriptcopyright by [email protected]

$ordner = "bilder/"; // Ordner für die Bilder, braucht chmods 777
$maxgroesse = "99999999999"; // max. bildhöhe

if(!empty($file_name)) {
if(copy($file,"$ordner$file_name")) {
if($file_type == "file/rar") {
$typ = "ok";
} else {
unlink("$ordner$file_name");
echo "Falscher Dateityp";
exit; }

$size = getfilesize("$ordner$file_name");
if($file[0]>$maxgroesse") {
echo "Datei zu groß.";
} else {
$maxgroesse = "ok"; }

if($groesse == "ok" and $typ =="ok") {
echo "Die Datei wurde erfolgreich hochgeladen";
}}} else {
?>
<html>
<title>Bilder hochladen</title>
<form enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" name="file"><br>
<input type="submit" name="Speichern" value="hochladen">
</form></html>
<?php } ?>

Danke für eure Hilfe!


Antworten zu PHP - Datein Upload - WICHTIG:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,

nee das sollte auch so nicht funktionieren.
Wo wird denn $file_type definiert, bzw. gefüllt? Abgesehen davon ist der MIME-Typ falsch.
http://www.aidex.de/software/webserver/guide/mime.html
bei rar: "application/x-rar-compressed"

und den $file_type solltest du so bekommen:
$file_type = $GLOBALS["HTTP_POST_FILES"]['dateiname']['type'];

BTW: die logische Reihenfolge des Scriptes halte ich für unsinnig. Wieso erst die Datei auf den Server laden, dann prüfen ob sie überhaupt den richtigen Typ hat, und wenn nicht wieder löschen? Unnötiger Traffic... also erst prüfen, dann hochladen. Im übrigen , was hast Du Dir bei $maxgroesse = "99999999999" gedacht? Weißt Du, dass die Angabe in Byte erfolgt? Und weißt Du wie man Byte in MB umrechnet? Anscheindend nicht, denn dann wüßtest Du, dass Du die Angabe getrost weglassen kannst. Denn Deine 99999999999 Byte sind stolze 11920 MB ... Aber zum Glück setzten die Provider noch ne Grenze bei PHP, meist 3 MB oder so... Also ändere den Wert mal auch einen vernünftigen ab, oder lass ihn weg. Denn die RAR-Datei musst Du mir erst mal zeigen, die 11 GB groß ist... und ich glaube auch soviel Speicher wirst Du bei deinem Provider nicht haben....
http://www.sengpielaudio.com/Rechner-bits.htm

Mario 8)

könntest du mir die PHP Datei nicht aufschreiben?
Ich blicke da nicht wirklich durch!
PS homepage ist http://www.upload.de.tp

Hier die php die ich daraus gefasst habe!:
(Geht nicht!)

<?php
#Scriptcopyright by [email protected]

$ordner = "bilder/"; // Ordner für die Bilder, braucht chmods 777
$filesize = "99999999999"; // max. bildhöhe

if(!empty($file_name)) {
if(file_type = $GLOBALS["HTTP_POST_FILES"]['dateiname']['type']) ;
if($file_type == "application/x-rar-compressed") {
$typ = "ok";
} else {
unlink("$ordner$file_name");
echo "Falscher Dateityp";
exit; }

$size = getfilesize("$ordner$file_name");
if($file[0]>$filesize") {
echo "Datei zu groß.";
} else {
$filesize = "ok"; }

if($groesse == "ok" and $typ =="ok") {
echo "Die Datei wurde erfolgreich hochgeladen";
}}} else {
?>
<html>
<title>Bilder hochladen</title>
<form enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" name="file"><br>
<input type="submit" name="Speichern" value="hochladen">
</form></html>
<?php } ?>

PS: wenn du es machst, schreibe ich gerne (wenn du willst) Deine E-Mail /Honmepage in meiner Seite!

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Mmh, ich hab jetzt hier keine Umgebung wo ich das PHP-Script testen könnte, auf alle Fälle so hier der Anfang (ohne Garantie das das funktioniert):
Die Variable $_FILES wurde erst ab PHP Version 4.1 eingeführt. Des Weiteren musst Du bei dem File-Type (also hier RAR) bedenken, den muss der Browser bereitstellen, wenn das der Browser nicht unterstützt gibt das entweder einen Fehler oder man kann auch andere Dateien mit anderen Endungen hochladen. Weiß jetzt gar nicht genau was auftritt. Dann müsstest Du eben die Datei auseinander nehmen und die Dateiendung "hart" prüfen.

$ordner = "bilder/";

if(!empty($file_name)) {
if($_FILES[$file_name]['type'] == "application/x-rar-compressed") {
if((copy($file,"$ordner$file_name")==true)&&($_FILES[$file_name]['size']<=2048)) {
 //ok hochgeladen
else{
echo 'Fehler beim kopieren oder Datei zu groß';
} //copy
}else {
echo "Falscher Dateityp";
exit;
}// $_FILES
}
else{
 echo 'bitte Datei angeben';
} // !empty

http://php3.de/manual/de/features.file-upload.php

Mario 8)


« Hat diese HP banner?Allgemeine Fragen »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Graustufenbilder
Als Graustufenbilder bezeichnet man digitale Bilddateien. Graustufenbilder werden auch Halbtonbilder beziehungsweise 8-Bit-Bilder genannt. In Graustufenbilder muss ein Pi...

Ordner
Ordner sind Strukturelemente in einem Dateisystem, die  Dateien und andere Ordner organisieren und speichern können. Sie ermöglichen eine strukturierte und...

Bildpunkte
Bilder, die von einem Monitor wiedergegeben werden, bestehen aus einzelnen Bildpunkten (Pixeln). Je höher die Pixelanzahl ist, desto genauer und besser kann das Bild...