• Startseite
  • Informationen
  • Kommunikation
  • Benutzer
  • Statistik
Willkommen, Gast!   de
Forum und Newsportal  
Donnerstag, 18. April 2024, 21:14

Forum - PHP-Upload

  • Vorherige Seite
  • 1
  • 2
  • Nächste Seite
Offline gissmo Männlich
Grünschnabel
01
45 Punkte
Homepage Persönliche Nachricht senden
RE:PHP-Upload

so nochmal ganz langsam und zu mitschreiben:

 

open_basedir /var/www/html/web28:/tmp

/var/www/html/web28 => ist unser Verzeichnis wo auch der /html Ordner für die Inhalte der Domain liegen

=> :/tmp liegt also genau in der gleichen (web28) und da lässt sich nicht löschen und auch nichts erstellen. Nur da ist bei mir kein Ordner , siehe oben.

=>wenn ihr mal in den html ordner geht habt ihr das verzeichniss /tmp.

wäre der Pfad =>/var/www/html/web28/html:/tmp und nicht =>/var/www/html/web28:/tmp

Dieser Beitrag wurde bereits 1 mal bearbeitet, zuletzt von »gissmo« (24.05.2009, 20:30)

Bild 24.05.2009, 20:16
Offline forelle05 Männlich
As
0
515 Punkte
Homepage Persönliche Nachricht senden
RE:PHP-Upload
Zitat von: gissmo
Zitat von: Halphas

Ich hab den Doppelpunkt net gesetzt. Ich kann die INI net ändern.

Der Doppelpunkt berechtigt mich,  soweit ich weis den Ordner /tmp zu verwenden. Aber ich werd  mal Webhoster anschreiben, villeicht ändern die das ja mal.


Na wenn das ist mag es stimmen, nur an diesem ort gibt es keinen Ordner Namens '/tmp'

Was haben denn da:

 

.configs       
atd         
backup         
files         
html         
log         
phptmp         
restore         
  .forward

zumindest bei mir nicht

Hallo,

 

wenn ihr mal in den html ordner geht habt ihr das verzeichniss /tmp. wieso weshalb warum der " : " erscheint keine ahnung ich habe diesen script mit xampp getestet und es ging. Kann es sein das Ihr bei euch im /html verzeichniss den Ordner tmp gelöscht habt??

Hier könnt Ihr ihn nochmal testen: http://eisold-entertainment.de/load/ und bitte die Ihr könnt die Datei göße direkt im Code ändern und zwar hier:

if ($dateigroesse > 2000000) array_push($fehler, 'Die hochzuladende Datei darf max. 2MB groß sein.');


Wenn Ihr wollt köönt Ihr es hier Downloaden: Upload

Gruß Thomas

Dieser Beitrag wurde bereits 2 mal bearbeitet, zuletzt von »forelle05« (24.05.2009, 18:07)

Bild 24.05.2009, 17:57
Offline Halphas Männlich
Grünschnabel
01
14 Punkte
Persönliche Nachricht senden
RE:PHP-Upload

stimmt so siehts auch bei mir aus, ich schätz mal das die den namen einfach ändern müssten

Bild 24.05.2009, 15:57
Offline gissmo Männlich
Grünschnabel
01
45 Punkte
Homepage Persönliche Nachricht senden
RE:PHP-Upload
Zitat von: Halphas

Ich hab den Doppelpunkt net gesetzt. Ich kann die INI net ändern.

Der Doppelpunkt berechtigt mich,  soweit ich weis den Ordner /tmp zu verwenden. Aber ich werd  mal Webhoster anschreiben, villeicht ändern die das ja mal.


Na wenn das ist mag es stimmen, nur an diesem ort gibt es keinen Ordner Namens '/tmp'

Was haben denn da:

.configs       
atd         
backup         
files         
html         
log         
phptmp         
restore         
  .forward

zumindest bei mir nicht

Bild 24.05.2009, 15:10
Offline Halphas Männlich
Grünschnabel
01
14 Punkte
Persönliche Nachricht senden
RE:PHP-Upload

Ich hab den Doppelpunkt net gesetzt. Ich kann die INI net ändern.

Der Doppelpunkt berechtigt mich,  soweit ich weis den Ordner /tmp zu verwenden. Aber ich werd  mal Webhoster anschreiben, villeicht ändern die das ja mal.

Bild 24.05.2009, 14:00
Offline gissmo Männlich
Grünschnabel
01
45 Punkte
Homepage Persönliche Nachricht senden
RE:PHP-Upload
Zitat von: Halphas

In der INI stehen folgende Werte:

open_basedir - /var/www/html/web168:/tmp

upload_max_filesize - 8M

upload_tmp_dir - /var/www/html/web168/phptmp/


Das haten doch schon mal.

Frage: was soll der Doppelpunkt in dem Pfad?

da ich neu auf diesem Server bin, steh ich noch nicht so richtig in der Materie.

Wo hab ihr die Daten aus der INI her, wie kommt man da ran? Will da mal bei  mir schauen.(habs gefunden)

Nurmal müsste doch der Pfad so aussehen:

open_basedir - /var/www/html/web168/tmp

der Pfad zu phptmp dürfte korrekt sein

Dieser Beitrag wurde bereits 1 mal bearbeitet, zuletzt von »gissmo« (24.05.2009, 11:54)

Bild 24.05.2009, 11:35
Offline Halphas Männlich
Grünschnabel
01
14 Punkte
Persönliche Nachricht senden
RE:PHP-Upload

Sers,

ok das neue Script von forelle sagt folgendes bei allen möglichen Dateien:

 

Notice: Undefined index: Datei in /var/www/html/web168/html/Test/upload.php on line 35

Notice: Undefined index: Datei in /var/www/html/web168/html/Test/upload.php on line 35

Notice: Undefined index: Datei in /var/www/html/web168/html/Test/upload.php on line 35

Es sind folgende Fehler aufgetreten:
Sie haben versucht keine oder eine lehre Datei hochzuladen.
Beseitigen sie wenn möglich den Fehler und versuchen sie es erneut.

 

Einstellungen im Script? hab ich soweit ich weis keine. der Doppelpunkt sagt, soweit ich weis das ich Zugriff auf den  tmp im "Root"-Verzeichnis habe.

open_basedir - /var/www/html/web168:/tmp

upload_tmp_dir - /var/www/html/web168/phptmp/


Also den Ordner tmp gibts aber nicht. Ich kann mir vorstellen das deswegen das $_FILES[] leer bleibt.

Dieser Beitrag wurde bereits 1 mal bearbeitet, zuletzt von »Halphas« (24.05.2009, 11:02)

Bild 24.05.2009, 11:01
Offline gissmo Männlich
Grünschnabel
01
45 Punkte
Homepage Persönliche Nachricht senden
RE:PHP-Upload
Zitat von: Halphas
.......

Das gleiche mit Copy(); bringt folgende zusätzliche Fehlermeldung

Warning: copy() [function.copy]: open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/html/web168:/tmp) in /var/www/html/web168/html/Test/upload.php on line 19

.....

Sollte es daran liegen müsste ich wissen wer die INI dementsprechend einstellen kann.

das stimmt doch weder vorne noch hinten nicht.

Komischer Pfad ist das  'web168:/tmp'  , was soll den der ':' dadrin

poste mal die genauen Einstellung im Script.

Bild 21.05.2009, 22:10
Offline forelle05 Männlich
As
0
515 Punkte
Homepage Persönliche Nachricht senden
RE:PHP-Upload
Zitat von: Halphas

Jap, ich habs mit vielen Größen und Typen versucht, txt jpg gif von 1kb bis 2MB ^^

 

post_max_size = 24M

max_execution_time = 30

Hallo,

 

kann es sein das du den script aus dem Internet hast?? wenn ja dann schaue mal weiter bei der seite denn ich habe deinen Script gefunden der weiter bzw. wegen der Fehlermeldung umprogrammiert wurde. Hier der geänderte Code:

<?php
ini_set ('error_reporting', E_ALL);
$pfad = './upload/';  // Hier den Ordner relativ zum Uploadscrip, in die die Dateien hochgeladen werden angeben.
$dateiupload_erfolgreich = false;


function CheckFilename($dateiname,$pfad)
    {
    global $fehler; $fehler = array();
    if (file_exists($pfad.$dateiname)) array_push($fehler, 'Es existiert bereits eine Datei mit dem Namen!'); //Prüfung ob der Dateiname der hochzuladenden Datei schon existiert. Wenn Dateien mit gleichen namen überschreiben werden sollen diese Zeile bitte löschen.
    if(!in_array(strtolower(substr($dateiname,-4)),array('.jpg','jpeg','.hs','.gif'))) array_push($fehler, 'Bitte nur Bilder mit der Endung .jpg, .jpeg, .png oder .gif hochladen!'); // In das array erlaubte Dateiformate eintragen und gegebenenfals die Fehlermeldung anpassen. Bitte diese Zeile aus Sicherheitsgründen auf gar keinen Fall löschen!
    if(substr_count($dateiname, '.')>1) array_push($fehler, 'Es ist nicht erlaubt eine Datei mit mehrere Punkten im Dateinamen hochzuladen!');
    return (sizeof($fehler)) ? false : $dateiname;
}


function CheckFile($dateiname_temp,$dateifehler,$dateigroesse)
    {
    global $fehler; $fehler = array();
         switch ($dateifehler) {
    case '1': $dateifehler_erklaerung ='Die hochgeladene Datei überschreitet die in der Anweisung upload_max_filesize in php.ini festgelegte Größe.'; break;
    case '2': $dateifehler_erklaerung = 'Die hochgeladene Datei überschreitet die in dem HTML Formular mittels der Anweisung MAX_FILE_SIZE angegebene maximale Dateigröße.'; break;
    case '3': $dateifehler_erklaerung = 'Die Datei wurde nur teilweise hochgeladen.'; break;
    case '4': $dateifehler_erklaerung = 'Es wurde keine Datei hochgeladen.'; break;
    }
    if($dateifehler) array_push($fehler, $dateifehler_erklaerung);
    if ($dateigroesse < 1) array_push($fehler, 'Sie haben versucht keine oder eine lehre Datei hochzuladen.');
    if ($dateigroesse > 2000000) array_push($fehler, 'Die hochzuladende Datei darf max. 2MB groß sein.'); // Hier die max. größe der Hochzuladenden Dtaie angeben und gegebenenfals die Fehlermeldung anpassen. Wenn die Dateigröße nicht weiter begrenzt werden soll diese Zeile bitte löschen.
    return (sizeof($fehler)) ? false : $dateiname_temp;
}


if(!empty($_POST['Send']))
{
    if ($dateiname_temp = CheckFile($_FILES['Datei']['tmp_name'],$_FILES['Datei']['error'],$_FILES['Datei']['size']))
    {
        if ($dateiname = CheckFilename($_FILES['Datei']['name'],$pfad))
        {
            move_uploaded_file($dateiname_temp, $pfad.$dateiname);
            if (filesize($pfad.$dateiname)<1) die ('Sie haben versucht eine leerer Datei hochzuladen!');
            $dateiupload_erfolgreich = true;
        }
        else $fehlermeldungen_ausgeben = true;
    }
    else $fehlermeldungen_ausgeben = true;
}




?>
<html>
<head>
<title>Datei-Upload</title>
</head>
<body>
<?php
if ($dateiupload_erfolgreich)
{
?>Ihre Datei (&quot;<?php echo $dateiname; ?>&quot;) wurde hochgeladen. Sie können nun weitere Dateien hochladen.<?php
}
elseif (!empty($fehler))
{
    ?>
    <br>Es sind folgende Fehler aufgetreten:<br>
    <?php
    foreach ($fehler as $fehlermeldung) {
    echo $fehlermeldung.'<br>';
    }
?>Beseitigen sie wenn möglich den Fehler und versuchen sie es erneut.<?php
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<input name="Datei" type="file"><br>
<input name="Send" type="submit" value="Upload">
</form>

Desweiteren lege einen Ordner mit dem Namen upload an.

 

Gruß Thomas

Dieser Beitrag wurde bereits 3 mal bearbeitet, zuletzt von »forelle05« (21.05.2009, 16:33)

Bild 21.05.2009, 16:29
Offline Halphas Männlich
Grünschnabel
01
14 Punkte
Persönliche Nachricht senden
RE:PHP-Upload

Jap, ich habs mit vielen Größen und Typen versucht, txt jpg gif von 1kb bis 2MB ^^

 

post_max_size = 24M

max_execution_time = 30

Dieser Beitrag wurde bereits 2 mal bearbeitet, zuletzt von »Halphas« (21.05.2009, 13:55)

Bild 21.05.2009, 13:53
Bewertung: 1 2 3 4 5
  • Vorherige Seite
  • 1
  • 2
  • Nächste Seite

Wer ist online?

Klappen
  • Gäste: 283

com to date | Fusonic | DATA BECKER