PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BilderUpload


alffrom
02.07.2006, 13:39:49
Hi, ich hab hier mal einen BilderUpload programmiert aber es haben sich Fehler eingeschlichen die ich leider nicht finde, könnt ihr mir da weiterhelfen?

Hier der code:


<html><head>
<title>HabboShout BilderUpload</title>
</head><body>
<?php
//bildupload
$uverz="dateien";
if($_POST['sent'])
{
//bilder
if(!file_exists($uverz))
{mkdir($uverz,0755);}
//Dateigröße kontrollieren
if($_FILES['neuedatei']['size']>100000)
{$fehler="<br>Die Datei ist zu groß";}
//Zulässige Dateitypen kontrollieren
if(!($_FILES['neuedatei']['type'] == 'image/jpeg' OR
$_FILES['neuedatei']['type'] == 'image/gif'))
{$fehler.="<br>Der Dateityp ist nicht zulässig.<br>";}
//Datei speicher, wenn kein Fehler vorliegt
if(!$fehler)
{
//Eindeutige Namen generieren
$name=uniqid("bild");
//Dateiendung je nach Typ an den Namen anhängen
switch($_FILES['neuedatei']['type'])
{
case 'image/jpeg':
$name.=".jpg";
break;
case 'image/gif':
$name.='.gif';
break;
}
//Den Dateinamen um die Pfadangabe erweitern
$name=$uverz."/".$name;
//Die Datei in das Unterverzeichnis kopieren
copy/$_FILES['neuedatei']['tmp_name'], $name);
}
else
{echo "<h2><font color=red>".$fehler."</font></h2>;}
}
//Ausgeben der bereits vorhandenen Datein im Unterverzeichnis
echo "<h2>Bisher hochgeladene Dateien</h2>";
$i=1;
$verzeichnis=opendir($uverz);
while ($file = readdir($verzeichnis))
{
if(is_file($uverz."/".$file))
{
echo "<a href=\"".$uverz."/".$file."\"target=\"_blank\">Datei_".$i."</a><br>
}
}
closedir($verzeichnis);
?>
<h2>Eine Datei hochladen</h2>
<form action="<? echo $_SERVER['PHP_SELF']; method="post"
enctype="multipart/form-data">
<input type="hidden" name="send" value="1">
<input type="submit"><input type="Reset" value="Zurücksetzen">
</form>
</body></html>

MatMel
02.07.2006, 14:12:45
Was passiert denn ? Kommt ein Fehler, bricht es ab oder passiert einfach garnichts ?

Jürg
02.07.2006, 14:18:49
Ich hab da mal was programmiert: Bildupload (http://www.zudila.ch/scripte/php_bildup.php)
Wahrscheinlich hilfts.

Andes
02.07.2006, 14:41:11
Ist das denn wirklich so schwer ordentlich formatierten Quelltext hier ein zu stellen. Ich finde es langsam etwas frech von den Usern die Hilfe suchen und dann den Leuten, die helfen wollen, solche unstrukturierten Sachen vor die Nase zu setzten.
Also stell mal deinen Quelltext ordentlich strukturiert ein und nutze die php-Option über dem Textfeld. Oder setzt dem ein \[PHP\] vor und ein \[/PHP\] als Abschluss. Allerdings ohne die Maskierungen.

alffrom
02.07.2006, 16:16:18
also sorry aber so lautet mein Quelltext :)

Andes
02.07.2006, 16:45:21
Dann halt nicht, ich hab das Problem ja nicht. Wenn du nicht mal bereit bist das obige ordentlich strukturiert hier ein zu stellen. Warum soll man sich dann die Mühe machen dir zu helfen.

alffrom
02.07.2006, 16:50:52
<html><head>
<title>HabboShout BilderUpload</title>
</head><body>
<?php
//bildupload
$uverz="dateien";
if($_POST['sent'])
{
//bilder
if(!file_exists($uverz))
{mkdir($uverz,0755);}
//Dateigröße kontrollieren
if($_FILES['neuedatei']['size']>100000)
{$fehler="<br>Die Datei ist zu groß";}
//Zulässige Dateitypen kontrollieren
if(!($_FILES['neuedatei']['type'] == 'image/jpeg' OR
$_FILES['neuedatei']['type'] == 'image/gif'))
{$fehler.="<br>Der Dateityp ist nicht zulässig.<br>";}
//Datei speicher, wenn kein Fehler vorliegt
if(!$fehler)
{
//Eindeutige Namen generieren
$name=uniqid("bild");
//Dateiendung je nach Typ an den Namen anhängen
switch($_FILES['neuedatei']['type'])
{
case 'image/jpeg':
$name.=".jpg";
break;
case 'image/gif':
$name.='.gif';
break;
}
//Den Dateinamen um die Pfadangabe erweitern
$name=$uverz."/".$name;
//Die Datei in das Unterverzeichnis kopieren
copy/$_FILES['neuedatei']['tmp_name'], $name);
}
else
{echo "<h2><font color=red>".$fehler."</font></h2>;}
}
//Ausgeben der bereits vorhandenen Datein im Unterverzeichnis
echo "<h2>Bisher hochgeladene Dateien</h2>";
$i=1;
$verzeichnis=opendir($uverz);
while ($file = readdir($verzeichnis))
{
if(is_file($uverz."/".$file))
{
echo "<a href=\"".$uverz."/".$file."\"target=\"_blank\">Datei_".$i."</a><br>
}
}
closedir($verzeichnis);
?>
<h2>Eine Datei hochladen</h2>
<form action="<? echo $_SERVER['PHP_SELF']; method="post"
enctype="multipart/form-data">
<input type="hidden" name="send" value="1">
<input type="submit"><input type="Reset" value="Zurücksetzen">
</form>
</body></html>

xabbuh
02.07.2006, 17:28:10
Zu ordentlich formatiertem Quelltext gehört nicht nur Syntaxhighlighting sondern auch ordentlich eingerückter Code: http://tut.php-q.net/einruecken.html

Andes
02.07.2006, 17:45:54
Nun dürfte dir der erste Fehler schon selbst auffallen. Ohne das man sich groß dein Quelltext anschauen muss. Fällt einem schon auf, dass im letzten Drittel was nicht stimmen kann.

Andes
13.07.2006, 21:11:58
Hab dir an entsprechenden Stellen mit Fehlern ein Kommentar angefügt.
Von der Syntax dürfte es soweit stimmen.


<html>

<head>
<title>HabboShout BilderUpload</title>
</head>

<body>
<?php
//bildupload
$uverz="dateien";
if($_POST['sent'])
{
//bilder
if(!file_exists($uverz))
{mkdir($uverz,0755);
}

//Dateigröße kontrollieren
if($_FILES['neuedatei']['size']>100000) {
$fehler="<br>Die Datei ist zu groß";
}

//Zulässige Dateitypen kontrollieren
if(!($_FILES['neuedatei']['type'] == 'image/jpeg' OR $_FILES['neuedatei']['type'] == 'image/gif')) {
$fehler.="<br>Der Dateityp ist nicht zulässig.<br>"; //Hier fehlte das abschließende Anführungszeichen
}

//Datei speicher, wenn kein Fehler vorliegt
if(!$fehler) {
//Eindeutige Namen generieren
$name=uniqid("bild");

//Dateiendung je nach Typ an den Namen anhängen
switch($_FILES['neuedatei']['type']) {
case 'image/jpeg': $name.=".jpg";
break;
case 'image/gif': $name.='.gif';
break;
}

//Den Dateinamen um die Pfadangabe erweitern
$name=$uverz."/".$name;

//Die Datei in das Unterverzeichnis kopieren
copy($_FILES['neuedatei']['tmp_name'], $name); //Hier gehört nach 'copy' ein '(' statt '/' hin
}
else {
echo "<h2><font color=red>".$fehler."</font></h2>";
}
}

//Ausgeben der bereits vorhandenen Datein im Unterverzeichnis
echo "<h2>Bisher hochgeladene Dateien</h2>";
$i=1;
$verzeichnis=opendir($uverz);
while ($file = readdir($verzeichnis))
{
if(is_file($uverz."/".$file)) {
echo "<a href=\"".$uverz."/".$file."\"target=\"_blank\">Datei_".$i."</a><br>"; //Hier fehlte bei 'href=" der Slash '\'
}
}
closedir($verzeichnis);
?>
<h2>Eine Datei hochladen</h2>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> <!-- Hier fehlte das abschließende ?> -->
<input type="hidden" name="send" value="1">
<input type="submit"><input type="Reset" value="Zurücksetzen">
</form>
</body>

</html>

alffrom
06.08.2006, 22:23:16
Danke