Datei Upload per PHP Nr. 2

Programmier-Tipps und -Tricks. Artikel zum Thema Java, PHP, C++, Delphi, VB, etc.

Datei Upload per PHP Nr. 2

Beitragvon CoolCasimir am 17.12.2004, 21:46

Hallo,

hier noch mal die verbesserte Version von dem Dateiupload in PHP.

Ich habe das erste Script noch mal überarbeitet denn das alte hatte noch ein paar Bugs. Das Aussehen hat sich geändert und man kann am Anfang des Scriptes die wichtigsten Parameter einstellen, ausserdem werden Verzeichnisnamen überprüft und es sind keine doppelten Verzeichnisnamen mehr erlaubt (Kann ganz einfach auskommentiert werden, denn ich habe die Stelle gekennzeichnet).

Das Script:
Code: Alles auswählen
<?php
/*
  Diese Datei einfach in ein belibiges Verzeichnis kopieren, maximale Dateigröße eingeben,
  maximale Verzeichnislänge eingeben und das Arbeitsverzeichnis bei $workingdir einstellen,
  welches dann automatisch mit den entsprechenden Rechten beim ersten Start dieser Datei angelegt wird.
  Written by Christian Fedder 17.12.2004 Hamburg Germany
*/

//>>>>>>>>>>>>>>>>>>>> KONFIGURATION <<<<<<<<<<<<<<<<<<<<<<<<
//Maximale Dateigröße
$max_filesize = 400000; //400 KB

//Maximale Verzeichnislänge
$max_dirlen = 50; //50 Zeichen

//Arbeitsverzeichnis (Wird beim ersten Aufrufen der Datei erstellt)
$workingdir = "web";

//Eigener Dateiname
$filename = "upload.php";

/*Dateitypen
Einfach die Dateiendung, Doppelpunkt und den PHP Dateityp eintragen.
Will man den PHP Dateitypen herausfinden, einfach mal eine Datei hochladen, dann wird
dieser angezeigt, auch wenn der Dateityp nicht zulässig war. Die Liste kann beliebig fortgeführt werden*/
$filetypes=array("*.html:text/html", "*.jpg:image/jpeg", "*.jpeg:image/pjpeg","*.gif:image/gif");
//>>>>>>>>>>>>>>>>>>> KONFIGURATION ENDE <<<<<<<<<<<<<<<<<<<<<<<<

if (!file_exists($workingdir)) //Wenn das Arbeitsverzeichnis nicht da ist, dann anlegen.
{
   mkdir($workingdir,0755);
}
?>
<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;
  BACKGROUND-COLOR: #EEEEEE;
}

input, textarea, select {
   border: 1px solid #333333;
   background: #FFFFFF;
   font: 11px Tahoma, Arial, Helvetica, sans-serif;
   color: #333333;
}
td {
   font: 14px Tahoma, Arial, Helvetica, sans-serif;
   color: #000000;
}
A:link {
   COLOR: #666666; TEXT-DECORATION: none
}
A:visited {
   COLOR: #666666; TEXT-DECORATION: none
}
A:active {
   COLOR: #ff9933; TEXT-DECORATION: none
}
A:hover {
   COLOR: white; BACKGROUND-COLOR: #000000; TEXT-DECORATION: none
}
//-->
</style>
</HEAD>
<BODY>
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 width="800" align="center" bordercolor="#333333">
   <TR>
          <td colspan="2">
            <div align="center"><font size="6">Datei Upload</font</div><br><br>
          </td>
    <tr>
    <td valign="top" align="left" width="380" style="border-right:1px #000000 dashed;border-top:1px #000000 dashed;
    border-bottom:1px #000000 dashed;">
    <br>
<?php
// Dateiupload
//----------------------------------------------------------------------------------------------------------------------
if ($flag==1) //Wenn das Formular abgeschickt wurde.
{
    //Datei checken
    //--------------------------------------------------------
    //Checken ob überhaupt eine Datei ausgewählt wurde
    $i=1;
    if(!$datei)
    {
        $fehler.="Keine Datei gewählt!<br>";
    }
    else
    {
           //Und die Größe der Datei
          if($datei_size > $max_filesize)
          {
            $fehler.="Datei ist zu groß!<br>";
          }
          else
          {
              $i=0;
              $loop = $filetypes;
              while(list($k,$v)=each($loop))  // Alle Dateitypen checken
              {
                 $check=explode(":",$v); // Dateinamen checken (Bei ":" erfolgt Trennung)
                 if ($datei_type == $check[1] && $datei)
                 {
                      $i = $i+1;
                 }
              }
            }
    }
    if ($i==0) {$fehler.="Falscher Dateityp! " .$datei_type. "<br>";}
    //Das Ganze in die Variable $fehler
    //--------------------------------------------------------
    if($fehler) //Bei Fehlern, Meldung ausgeben
    {
        $meldung="<h3><font color='#880000'>" .$fehler. "</font></h3>"; //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 = "$workingdir$writeurl"; //Verzeichnisname workingdir wird am Anfang deklariert.
       //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='#FF0000'>Datei wurde erfolgreich hochgeladen!</font><br>";
       echo "<br><a href='$_SERVER[PHP_SELF]?$_SERVER[QUERY_STRING]'> <<< Zurück</a> (Nach 10 Sekunden automatisch.)<br><br>";
       echo "<script language='JavaScript'>
         var gWindowCloseWait = 10;
         function zurueck()
         {
            window.location = (\"$_SERVER[PHP_SELF]?$_SERVER[QUERY_STRING]\");
         }
         window.setTimeout(\"zurueck()\", gWindowCloseWait*1000);
         </script>";
    }
    //--------------------------------------------------------------------
}
//----------------------------------------------------------------------------------------------------------------------

// Verzeichnis anlegen
//----------------------------------------------------------------------------------------------------------------------
if ($flag2==1)
    {
   //Erst mal ein paar Prüfungen
   if(!$verzname)
   {
      $fehler.="Kein Verzeichnis eingegeben!<br>"; //Wurde ein Verzeichnis eingegeben?
   }
   else
   {
      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
      }
      else
      {
              if (strlen($verzname) > $max_dirlen)
              {
                      $fehler.="Verzeichnisname ist zu lang<br>(Max. $max_dirlen Zeichen)";
              }
      }
   }
   /*Doppelte Verzeichnisnamen checken. Fals nicht gewünscht, einfach diesen Bereich auskommentieren.
   Bitte nur bei Unixsystemen, denn Windows erlaubt Doppelte Verzeichnisnamen nicht
   und dann erscheinen unschöne Fehlermeldungen :-(

   >>>>>>>>>>>>>>>>>>>>> Doppelte Verzeichnisnamen Anfang <<<<<<<<<<<<<<<<<<<<<<<<< */
   $writeurl = "";
        if ($uvz2)
        {
            $writeurl = "/".$uvz2;
        }
   $dir = "$workingdir$writeurl"; //Zusammensetzen des richtigen Pfades
   $dir = strtolower($dir);
   $verzname = strtolower($verzname);
   $dh=opendir($dir);
   if ($dh)
   {
      $i=1;
      while ($filename=readdir($dh)) //Loopen durch die bereits angelegten Verzeichnisse
      {
         if (is_dir($dir."/".$filename) && $filename != "." && $filename != "..")
         //Die Punkte ausschliessen falls Unixsystem
              {
                 if ($verzname == $filename) {$fehler.="Verzeichnis ist schon vorhanden!<br>";}
                 //Doppelte Verzeichnisnamen ausschliessen, da es sonst zu Fehlermeldungen auf
                 //Windows-Webservern kommt
              }
      }
   }
      closedir($dh);
      //>>>>>>>>>>>>>>>>>>>>> Doppelte Verzeichnisnamen Ende <<<<<<<<<<<<<<<<<<<<<<<<<

      if($fehler)
      {
          $meldung="<h3><font color='#880000'>" .$fehler. "</font></h3>"; //Fehlermeldung verschönern ;-)
              unset($flag2); //Variable $flag2 wieder zurück setzten
              echo $meldung; //Fehlermeldug ausgeben
      }
      else //Wenn es keine Fehler gab
      {
             mkdir("$workingdir/".$verzname); //Dann kann das Verzeichnis angelegt werden
               echo "<font size='4'>Verzeichnis '$verzname' wurde erstellt!</font>";
      }

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


// Hier beginnt die eigentliche 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 //-->
        <table border="1" width="340" cellpadding="1" cellspacing="1" bordercolor="#ffffff" style="border-collapse: collapse">
        <tr>
        <td colspan="2"><b>Datei wählen und hochladen</b><br>
        <font size="1">Mögliche Dateitypen:<br>
        <?php
         while(list($k,$v)=each($filetypes))  // Alle Dateitypen checken
         {
                 $check=explode(":",$v);
                 echo $check[0]. " ";
         }
         echo "<br>";
         ?>
        Maximal <?php echo $max_filesize/1000; ?> KB pro Datei.</font></td>
        </tr>
        <tr>
          <td width="54">Datei:</td>
          <td>
                    <input name="datei" type="file" id="datei" size="30" value='<?php 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>
      </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>
        <table border="1" cellpadding="1" width="340" cellspacing="1" bordercolor="#ffffff" style="border-collapse: collapse">
        <tr>
        <td colspan="2"><b>Verzeichnis anlegen</b></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>
      </form>
      <?php
      }
      }
      //Nun erst mal eine JavaScript Funktion welche noch zum Löschen 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'><< Zurück zum Hauptverzeichnis</a><br>";
      }
      $uvz="$workingdir$writeurl"; // workingdir wird am Anfang der Datei deklariert.
       if (!file_exists($uvz)) //Wenn nicht vorhanden, dann anlegen
       {
           mkdir($uvz,0755);
       }
      if ($loesch=="datei") //Wenn Datei gelöscht werden soll.... Weiter unten.
      {
          $name = urldecode($name);
          $pfad = $uvz."/".$name;
          @unlink($pfad); //Pfad zusammenbasteln ;-)
        if ($uvz2 != "")  //Waren wir in einem Unterverzeichnis?
        {
           echo " <script language='JavaScript'>
             window.location = ('$filename?uvz2=$uvz2') </script>";  //Dann wieder zurück in das Unterverzeichnis
        }
        else
        {
           echo " <script language='JavaScript'>
             window.location = ('$filename') </script>";   //Und wieder dahin zurück wo wir waren
        }
      }
      echo "<font size='3'><b>Aktuelles Verzeichnis: <b><a href='$uvz' target='_blank'>/$uvz</a></font>
      </td>
      <td style='border-top:1px #000000 dashed;border-bottom:1px #000000 dashed;' valign='top'>
      <br>
      <p align='center'><b>Hochgeladene Dateien:</b><br><hr width='400' color='#000000'></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' onMouseOver=\"window.status='Dateiname: $file'; return true\" onMouseOut=\"window.status=''; return true\">$file</a> - - "; //Datei(en) anzeigen
              $file = urlencode($file);
              echo " <a href=\"javascript:del('$PHP_SELF?loesch=datei&name=$file&uvz2=$uvz2','".urldecode($file)."')\" onMouseOver=\"window.status='Löschen: " .urldecode($file). "'; return true\" onMouseOut=\"window.status=''; return true\"> <font color='#880000'>L&ouml;schen</font></a><hr></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 $loesch=datei  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 ($loesch=="verzeichnis")
      {
          shell_exec(rmdir($name));
          echo " <script language='JavaScript'>
          window.location = ('$filename') </script>";
      }
echo " <script language='JavaScript'>
      function del2(url, verzeichnis) {
         if( confirm(\"Soll Das Verzeichnis '\" + verzeichnis + \"' wirklich gelöscht werden?\") )   window.location = url;
      }
      </script>";
echo "<p align='center'><b>Angelegte Verzeichnisse:</b><br><hr width='400' color='#000000'></p><ol>";
  //Auslesen der Verzeichnisse
  $dirlist=array();
  $writeurl = "";
      if ($uvz2)
      {
          $writeurl = "/".$uvz2;
      }
  $dir = "$workingdir$writeurl";
  $dh=opendir($dir);
  if ($dh)
  {
  $i=1;
   while ($filename=readdir($dh))
   {
     if (is_dir($dir."/".$filename) && $filename != "." && $filename != "..") //Die Punkte ausschliessen falls Unixsystem
     {
       echo "<li><a href='$PHP_SELF?uvz2=$filename' onMouseOver=\"window.status='Verzeichnis: ../$dir/$filename'; return true\" onMouseOut=\"window.status=''; return true\">../".$dir."/".$filename."</a> - - ";
       echo " <a href=\"javascript:del2('$PHP_SELF?loesch=verzeichnis&name=".$dir."/".$filename."','$filename')\" onMouseOver=\"window.status='Löschen ../$dir/$filename'; return true\" onMouseOut=\"window.status=''; return true\"> <font color='#880000'>L&ouml;schen (Nur wenn leer.)</font></a><hr></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 17.12.2004 Hamburg Germany
echo "</TD>
   </TR>
</TABLE><br>
<table border='0' align='center'>
<tr><td valign='bottom' align='center'>
Your IP:" .$_SERVER['REMOTE_ADDR']. "</td></tr>
</table>";
  ?>
<!-- by Christian Fedder 12.12.2004 Hamburg Germany //-->
</BODY>
</HTML>
Zuletzt geändert von CoolCasimir am 24.01.2006, 22:27, insgesamt 1-mal geändert.
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg


Beitragvon miezmutz am 31.12.2004, 01:36

fantastisch...
*kopfkratz* wenn ich nur wüßte wofür... :wink:
miezmutz
Moderator
 
Beiträge: 2411
Registriert: 19.07.2004, 13:04
Wohnort: Rendsburg

Beitragvon Ololi am 05.01.2005, 19:55

Was muss ich ändern, wenn ich alle Dateien erlauben möchte, dafür das Löschen entfernen will?

Sorry, ich bin eben ein Anfänger...
Ololi
 

Beitragvon CoolCasimir am 05.01.2005, 23:38

Ololi hat geschrieben:Was muss ich ändern, wenn ich alle Dateien erlauben möchte, dafür das Löschen entfernen will?

Sorry, ich bin eben ein Anfänger...

Da musst Du einfach die Abfrage für die Dateitypen heraus nehmen.
Lösche:
Code: Alles auswählen
else
          {
              $i=0;
              $loop = $filetypes;
              while(list($k,$v)=each($loop))  // Alle Dateitypen checken
              {
                 $check=explode(":",$v); // Dateinamen checken (Bei ":" erfolgt Trennung)
                 if ($datei_type == $check[1] && $datei)
                 {
                      $i = $i+1;
                 }
              }
            }

Dann kurz da unter
Code: Alles auswählen
if ($i==0) {$fehler.="Falscher Dateityp! " .$datei_type. "<br>";}

Dann das hier
Code: Alles auswählen
if ($loesch=="datei") //Wenn Datei gelöscht werden soll.... Weiter unten.
      {
          $name = urldecode($name);
          $pfad = $uvz."/".$name;
          @unlink($pfad); //Pfad zusammenbasteln ;-)
        if ($uvz2 != "")  //Waren wir in einem Unterverzeichnis?
        {
           echo " <script language='JavaScript'>
             window.location = ('$filename?uvz2=$uvz2') </script>";  //Dann wieder zurück in das Unterverzeichnis
        }
        else
        {
           echo " <script language='JavaScript'>
             window.location = ('$filename') </script>";   //Und wieder dahin zurück wo wir waren
        }
      }

Und noch das:
Code: Alles auswählen
echo " <a href="javascript:del('$PHP_SELF?loesch=datei&name=$file&uvz2=$uvz2','".urldecode($file)."')" onMouseOver="window.status='Löschen: " .urldecode($file). "'; return true" onMouseOut="window.status=''; return true"> <font color='#880000'>L&ouml;schen</font></a><hr></li>";

Und dieses noch:
Code: Alles auswählen
if ($loesch=="verzeichnis")
      {
          shell_exec(rmdir($name));
          echo " <script language='JavaScript'>
          window.location = ('$filename') </script>";
      }
echo " <script language='JavaScript'>
      function del2(url, verzeichnis) {
         if( confirm("Soll Das Verzeichnis '" + verzeichnis + "' wirklich gelöscht werden?") )   window.location = url;
      }
      </script>";

Und zum schluss das:
Code: Alles auswählen
echo " <a href="javascript:del2('$PHP_SELF?loesch=verzeichnis&name=".$dir."/".$filename."','$filename')" onMouseOver="window.status='Löschen ../$dir/$filename'; return true" onMouseOut="window.status=''; return true"> <font color='#880000'>L&ouml;schen (Nur wenn leer.)</font></a><hr></li>";

Vielleicht findes Du die Stellen mit der Suchfunktion. Wenn alles gelöscht wurde geht es so wie Du es haben willst.
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon Peach am 14.01.2005, 13:37

Nach welchen kriterien werden die upgeloadeten (<- schreibt man das so? :roll: :lol: ) Dateien geordnet? Kann man machen das die nach der Ordner-Reihenfolge angezeigt werden? Also alphabetisch?

thx
Peach
 

Beitragvon CoolCasimir am 15.01.2005, 20:26

Die werden einfach so angezeigt ohne eine Sortierung... Kann man aber programmieren.. Werde ich noch mal machen wenn ich Zeit habe.
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon DerImperator am 20.01.2005, 00:22

Lässt sich der Skript auch so verändern, dass man einen ganzen Ordner hochladen kann. Wenn ja, wäre ich über eine Lösung sehr dankbar, habe selbst keine php Kenntnisse.
DerImperator
 

Beitragvon DerImperator am 20.01.2005, 00:44

Wärs zumindest möglich mehrere Dateien gleichzeitig hochzuladen.
DerImperator
 

Beitragvon CoolCasimir am 20.01.2005, 10:36

DerImperator hat geschrieben:Wärs zumindest möglich mehrere Dateien gleichzeitig hochzuladen.

Ja, möglich ist das.
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon mprambo2 am 23.01.2005, 01:19

Warning: copy() [function.copy]: SAFE MODE Restriction in effect. The script whose uid is 65533 is not allowed to access /cdcv2/www/mprambo2/html/memberarea2/upload/2662 owned by uid 65534 in /cdcv2/www/mprambo2/html/memberarea2/intern.php on line 185

Warning: copy(upload/2662/06_1.jpg) [function.copy]: failed to open stream: Permission denied in /cdcv2/www/mprambo2/html/memberarea2/intern.php on line 185
Information:
Dateityp: image/pjpeg
Größe: 31,53 KB
Dateiname: 06_1.jpg
Datei wurde erfolgreich hochgeladen!


sag mal kann man nicht was an Script ändern,
das wenn man mit deinen Script einen neuen Ordner erstellt dort auch Bilder usw speichern kann obwoll SaveMode on ist oder so??

Ps. dein Script find ich geil weiter so

MfG
mprambo2
mprambo2
 

Beitragvon CoolCasimir am 23.01.2005, 15:44

Wie sieht denn die Berechtigung für dasVerzeichnis aus? Setze doch einfach alles auf 777, dann gehts bestimmt.
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon -mprambo2- am 23.01.2005, 16:10

Hi,
hab ich gemacht alle 755 Rechte von deinen Script auf 777 Rechte gesetzt und was macht er trotzdem 755 Rechte raus,
wenn ich mit dem ftp Programm gucke dann steht dort ein neuer Ordner mit 755 Rechte warum ?

MfG
mprambo2
-mprambo2-
 

Beitragvon -mprambo2- am 23.01.2005, 16:12

Hi bitte les dir mal das durch:
h#tp://cybton.com/index.php?site=26&thread=2104

MfG
mprambo2
-mprambo2-
 

Beitragvon CoolCasimir am 23.01.2005, 16:32

-mprambo2- hat geschrieben:Hi bitte les dir mal das durch:
h#tp://cybton.com/index.php?site=26&thread=2104

MfG
mprambo2

Ja, danke. Dann leg das Verzeichnis web doch erst mal selber an. Vielleicht sollte ich das mal umprogrammieren, ist ja auch noch nicht die entgültige Version. Nachher sollen die Dateien in einer MySqldatenbank abgelegt werden und nur der Ersteller eines Verzeichnisses entsprechende Schreib-, bzw. Leserechte haben. Aber das dauert alles noch, da ich mich im Moment auf meine Abschlussarbeiten konzentrieren muss :wink:
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon mprambo2 am 23.01.2005, 16:39

ok mach ich, ich nutz dein Script erstmal für ebay bilder, das ist schon cool wenn man woanders ist und bilder hochladen kann.


Ps. wäre super wenn du es bald schaffst, ich warte schon sehr süchtig drauf, aber
du bilder in die Mysql ist doch nicht so gut denn ich kenn auch funpic dort darf man es nicht abspeichern.

also kann man das nicht so machen: das die Bilder kurz dort als temp abgespeichert werden und dann zum schluss Sek. später in den richtigen ordner verschiebt geht das sowas überhaupt?
mprambo2
 
Beiträge: 1
Registriert: 23.01.2005, 16:15

Nächste


Ähnliche Themen


Zurück zu Artikel Softwareprogrammierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste