Upload Script

Brooklyn
Hallo,
ich hoffe ich bin hier richtig...^^

Also,
ich suche ein Upload Script mit dem man bequem Bilder, vllt auch andere Datein hochladen kann. Ich will nichts extra was gecodet haben oder so, außer jmd. hat langeweile...^^

Soll so einfach zu "installieren" wie möglich sein... Augenzwinkern
Bedanke mich schomma smile
Izzmoo
Einfach Suche benutzen Belehr

Upload Skripte
chrime
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:

<?php
/*
  Diese Datei muss in einem Verzeichnis sein in dem sich ein weiteres mit dem Namen "web" befindet.
  Das Verzeichnis "web" muss die entsprechenden Rechte haben (chmod 777).
  Written by Christian Fedder 08.02.2004 Hamburg Germany
*/
?>
<HTML>
<HEAD>
<TITLE>Uploadscript by Christian Fedder 2004</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<SCRIPT language=JavaScript>
<!--
function sicher(){
 //Diese Funktion ist für die Formulare, aber eigentlich überflüssig.
 var antwort;
 antwort=confirm("Bist Du sicher, dass Du alle Felder wieder löschen willst?");
 if (antwort==true){
    return antwort;
  }
  else{
  return antwort;
  }
  }
//-->
</script>
<style>
<!--
body {
   SCROLLBAR-FACE-COLOR: #666666; SCROLLBAR-HIGHLIGHT-COLOR: #333333; SCROLLBAR-SHADOW-COLOR: #333333; SCROLLBAR-3DLIGHT-COLOR: #344556; SCROLLBAR-ARROW-COLOR: #fefefe; SCROLLBAR-TRACK-COLOR: #000011; SCROLLBAR-DARKSHADOW-COLOR: #333333;
}

input, textarea, select, file {
   border: 1px solid #333333;
   background: #cccccc;
   font: bold 11px Verdana, Arial, Helvetica, sans-serif;
   color: #333333;

}
td {
   font: bold 14px Verdana, Arial, Helvetica, sans-serif;
   color: #999999;
}
a:link {
   color: #FFFFFF;
   text-decoration: none;
}
a:visited {
   color: #FFFFFF;
   text-decoration: none;
}
a:hover {
   color: #999999;
   text-decoration: none;
}
a:active {
   color: #666666;
}
//-->
</style>
</HEAD>
<BODY BGCOLOR=#000000>
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 align="left" bordercolor="#333333" width="700">
   <TR>
          <td>
            <div align="center"><font size="6">Datei Upload</font</div><br>
          </td>
    <tr>
    <td>
<?php
// Dateiupload
//------------------------------------------------------------------------------------------------------------------------------------
if ($flag==1//Wenn das Formular abgeschickt wurde.
{
    //Datei checken
    //--------------------------------------------------------
    //Erst die Größe
    if($datei_size>200000) {$fehler.="Datei ist zu groß!<br>";}
    //Dann der Typ
    if(($datei_type != 'text/html' && $datei) && ($datei_type != 'image/jpeg' && $datei) && ($datei_type != 'image/pjpeg' && $datei) && ($datei_type != 'image/gif' && $datei)) {$fehler.="Falscher Dateityp! " .$datei_type"<br>" ;} //Typen können natürlich geändert werden
    //Und dann checken ob überhaupt eine Datei ausgewählt wurde
    if(!$datei){$fehler.="Keine Datei gewählt!<br>";}
    //Das Ganze in die Variable $fehler
    //--------------------------------------------------------
    if($fehler//Bei Fehlern, Meldung ausgeben
    {
        $meldung="<h2 align='center'><font color='#880000'>" .$fehler"</font></h2>"//Die Fehlermeldung etwas verschönern  ;-)
        unset($flag); //Variable $flag wieder zurück setzten
        echo $meldung//Fehlermeldung ausgeben
    }
    else
    {
      //Keine Fehler? Dann Datei hochladen
      //--------------------------------------------------------------------
      $writeurl "";
      if ($uvz2 != "")
      {
          $writeurl "/".$uvz2;
      }
       $uvz "web$writeurl"//Verzeichnisname (ist immer "web")
       //Die Verzeichnisnamen kommen aus dem Formular weiter unten
       if (!file_exists($uvz)) //Wenn nicht vorhanden, dann anlegen
       {
           mkdir($uvz,0755); //mit den entsprechenden Rechten versehen
       }
       $name=$uvz."/".$datei_name;

       copy($datei$name); //Kopieren der Datei auf den Server
       //Anzeigen der Dateigröße
       $sizer $datei_size;
       $ending "Byte";
       if ($sizer 1000)
       {
           //Berechnung der Dateigröße in KB
        $sizer $sizer 1000;
           $sizer number_format($sizer,2,",",".");
           $ending "KB";
       }
    // Ausgabe der Informationen
       echo "<font size='3'>Information:</font><br>";
       echo "Dateityp: $datei_type <br>";
       echo "Gr&ouml;&szlig;e: $sizer $ending<br>";
       echo "Dateiname: $datei_name<br>";
       echo "<font color='#ffffff'>Datei wurde erfolgreich hochgeladen!</font><br>";
       echo "<br><a href='$_SERVER[PHP_SELF]?$_SERVER[QUERY_STRING]'> <<< Zurück</a> (Nach 3 Sekunden automatisch.)<br><br>";
      echo "<script language='JavaScript'>
         var gWindowCloseWait = 3;
         function zurueck()
         {
            window.location = (\"$_SERVER[PHP_SELF]?$_SERVER[QUERY_STRING]\");
         }
         window.setTimeout(\"zurueck()\", gWindowCloseWait*1000);
         </script>";
    }
    //--------------------------------------------------------------------
}
//------------------------------------------------------------------------------------------------------------------------------------


// Verzeichnis anlegen
//------------------------------------------------------------------------------------------------------------------------------------
if ($flag2==1)
    {
        if(!$verzname){$fehler.="Kein Verzeichnis eingegeben!<br>";} //Wurde ein Verzeichnis eingegeben?
   if ($verzname)
   {
      if(!eregi("^[a-zA-Z0-9]+$",$verzname)){$fehler.="Ungültige Zeichen im Verzeichnisnamen<br>
      (Nur a-z und 0-9 erlaubt)<br>";} //Zeichen des anzulegenden Verzeichnisses prüfen
   }
      if($fehler)
      {
          $meldung="<h2 align='center'><font color='#880000'>" .$fehler"</font></h2>"//Fehlermeldung verschönern ;-)
              unset($flag2); //Variable $flag2 wieder zurück setzten
              echo $meldung//Fehlermeldug ausgeben
      }
      else //Wenn es keine Fehler gab
      {
             mkdir("web/".$verzname); //Dann kann das Verzeichnis angelegt werden
               echo "<font size='4'>Verzeichnis '$verzname' wurde erstellt!</font>";
      }

    }
//------------------------------------------------------------------------------------------------------------------------------------



// Der Anfang der Seite
//------------------------------------------------------------------------------------------------------------------------------------
if(!$flag//Die Variablen $flag und $flag2 bekommen erst mit dem Abschicken des einen oder des anderen Formulares einen Wert.
        //Wird das Formular für den Dateiupload abgeschickt ist es $flag bei den Verzeichnissen ist es $flag2.. wer hätte das gedacht.
{
        //Nun kommt HTML mit einem ganz kleinen Teil PHP
     ?>
        <form action='<? echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; ?>' method='post' enctype='multipart/form-data' name='form1' id="form1" onReset="return sicher()">
        <!-- Die Formaction besteht aus der aktuellen Datei und einer Variable hinter dem "?" Hier wird ein mögliches Unterverzeichnis
       angegeben in dem wir uns vielleicht gerade befinden. Denn dort soll die Datei ja auch rein.  //-->
     <input type="hidden" name="flag" id="flag" value=1><!-- Hier kommt das versteckte Feld. Es bekommt den Wert 1 und wird in PHP
                                  dann als variable gesehen //-->
        <div align="center">
        <table border="0" cellpadding="0" cellspacing="0" width="400" bordercolor="#ffffff" style="border-collapse: collapse">
        <tr>
        <td colspan="2">Datei wählen und abschicken<br>
        <font size="1">Mögliche Dateitypen: *.html *.jpg *.gif<br>
        Maximal 200 KB pro Datei.</font></td>
        </tr>
        <tr>
          <td width="54">Datei:</td>
          <td>
                    <input name="datei" type="file" id="datei" size="30" value='<? echo $datei?>'>
                  </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="Submit" value="Hochladen"> <input type="reset" name="Reset" value="Zurücksetzen">
          </td>
        </tr>
    </table>
        </div>
      </form>
      <?php
   //Nun das formular für die Verzeichnisse. Das erscheint nur, wenn man in dem Hauptverzeichnis ist...
      //Sonst könnte man ja unendlich viele Verzeichnisse anlegen.
      if ($uvz2 == "")
      {
      ?>
      <form action='<? echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; ?>' method='post' enctype='multipart/form-data' name='form2' id="form2" onReset="return sicher()">
          <input type="hidden" name="flag2" id="flag2" value=1>
        <div align="center">
        <table border="0" cellpadding="0" width="400" cellspacing="0" bordercolor="#ffffff" style="border-collapse: collapse">
        <tr>
        <td colspan="2">Verzeichnis anlegen</td>
        </tr>
        <tr>
          <td width="54">Name:</td>
          <td>
                    <input name="verzname" type="text" id="verzname" size="30" value="">
                  </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="Submit" value="Anlegen"> <input type="reset" name="Reset" value="Zurücksetzen">
          </td>
        </tr>
        </table>
        </div>
      </form>
      <?php
      }
      }
   //Nun erst mal eine JavaScript Funktion welche noch benötigt wird.
      echo " <script language='JavaScript'>
      function del(url, datei) {
         if( confirm(\"Soll die Datei '\" + datei + \"' wirklich gelöscht werden?\") )   window.location = url;
      }
      </script>";
      $writeurl "";
      //Wo sind wir? Haupt oder Unterverzeichnis?
      if ($uvz2)
      {
          $writeurl "/".$uvz2;
          echo "<a href='$PHP_SELF'><< Home</a><br>";
      }
      $uvz="web$writeurl"// Das Hauptverzeichnis ist immer /web
       if (!file_exists($uvz)) //Wenn nicht vorhanden, dann anlegen
       {
           mkdir($uvz,0755);
       }
      if ($sent==1//Wenn Datei gelöscht werden soll.... Weiter unten.
      {
          $name urldecode($name);
          $pfad $uvz."/".$name;
          @unlink($pfad); //Pfad zusammenbasteln ;-)
        if ($uvz2 != "")
        {
           echo " <script language='JavaScript'>
             window.location = ('upload.php?uvz2=$uvz2') </script>";  //Und wieder dahin zurück wo wir waren
        }
        else
        {
           echo " <script language='JavaScript'>
             window.location = ('upload.php') </script>";   //Und wieder dahin zurück wo wir waren
        }
      }
      echo "<font size='3'>Aktuelles Verzeichnis:<br>
      <a href='$uvz' target='_blank'>/$uvz</a><p align='center'>Bisher hochgeladene Dateien:<br><hr width='400' color='#ffffff'></p></font><ol>";
      //Anzeigen des Verzeichnisses und es folgt das Anzeigen der hochgeladenen Dateien
   $i 1;
      $verzeichnis opendir($uvz);

      while ($file readdir($verzeichnis)) //Verzeichnis auslesen
      {
          if (is_file($uvz."/".$file))
          {
              echo "<li><a href='$uvz/$file' target='_blank'>$file</a> - - "//Datei(en) anzeigen
              $file urlencode($file);
              echo " <a href=\"javascript:del('$PHP_SELF?sent=1&name=$file&uvz2=$uvz2','".urldecode($file)."')\"> <font color='#880000'>L&ouml;schen<hr></font></a></li>";
        //Möglichkeit zum Löschen der Datei. Die JavaScriptfunktion del ist hierbei eine Abfrage ob wirklich gelöscht werden soll.
        //Klickt man ja, wird die URL übergeben mit der Variable $sent=1  Dieses wurde weiter oben ja bereits abgefragt.
              $i++;
          }
      }
      if ($i == 1)
      {
          echo "Keine Dateien vorhanden";
      }
      closedir($verzeichnis);
      echo "</ol>";

if ($uvz2 == "")
{
//Das Gleiche für die Verzeichnisse nochmal
if ($sent2==1)
      {
          shell_exec(rmdir($name));
          echo " <script language='JavaScript'>
          window.location = ('upload.php') </script>";
      }
echo " <script language='JavaScript'>
      function del2(url, verzeichnis) {
         if( confirm(\"Soll Das Verzeichnis '\" + verzeichnis + \"' wirklich gelöscht werden?\") )   window.location = url;
      }
      </script>";
echo "<font size='3'><p align='center'>Bisher angelegte Verzeichnisse:<br><hr width='400' color='#ffffff'></p></font><ol>";
  //Auslesen der Verzeichnisse
  $dirlist=array();
  $writeurl "";
      if ($uvz2)
      {
          $writeurl "/".$uvz2;
      }
  $dir "web$writeurl";
  $dh=opendir($dir);
  if ($dh)
  {
  $i=1;
   while ($filename=readdir($dh))
   {
     if (is_dir($dir."/".$filename) && $filename != "." && $filename != "..")
     {
       echo "<li><a href='$PHP_SELF?uvz2=$filename'>../".$dir."/".$filename."</a> - - ";
       echo " <a href=\"javascript:del2('$PHP_SELF?sent2=1&name=".$dir."/".$filename."','$filename')\"> <font color='#880000'>L&ouml;schen (Nur wenn leer.)<hr></font></a></li>";
    //Ausgabe der Verzeichnisliste, wieder mit Möglichkeit zum Löschen.
       $i++;
     }
   }
   if ($i == 1)
      {
          echo "Keine Verzeichnisse vorhanden";
      }
   closedir($dh);
  }
  else
  {
   //Fehlermeldung
   echo "Ein FEHLER ist aufgetreten und keiner weiß warum.... :-D";
  }
echo "</ol>";
}
//------------------------------------------------------------------------------------------------------------------------------------

// by Christian Fedder 08.02.2004 Hamburg Germany
  ?>
    </TD>
   </TR>
</TABLE>
<!-- by Christian Fedder 08.02.2004 Hamburg Germany //-->
</BODY>
</HTML>
Marcel94
*edit*
Sorry, vertan... Irre
Brooklyn
Danke^^