Ankündigung

Einklappen
Keine Ankündigung bisher.

Rechnungs Upload funktioniert nicht richtig

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Rechnungs Upload funktioniert nicht richtig

    Hallo zusammen, ich versuche jetzt seit 4 Stunden einen Upload von Rechnungen zu ermöglichen. Als Error bekomme ich '0' also sollte die Datei eigentlich erfolgreich hochgeladen worden sein, oder nicht? Leider landen die Dateien aber nicht im Zielverzeichnis und auch sonst nirgendwo. Ich ermögliche den Nutzern an einer anderen Stelle bereits den Upload von Rechnungen und da gibt es keine Probleme. Alle Dateien können erfolgreich hochgeladen werden. Ich habe mir also den existierenden Code kopiert und angepasst, leider ohne Erfolg. Aber vielleicht habt Ihr ja eine Lösung für mein Problem.

    HTML-Code:
    <form action="scripts/addinvoice.php" method="POST" enctype="multipart/form-data" >    
    <div class="row" style="margin-top: 1vw;">        
    <div class="col">            
    <input type="file" name="invoicefile" id="invoicefile" accept="application/pdf">            
    <label class="btn btn-secondary btn-min-width mr-1 mb-1" for="invoicefile">Rechnung anhängen</label>        
    </div>        
    <div class="col">          
    <button type="submit" name="add_invoice" class="btn btn-min-width mr-1 mb-1">Jetzt Hochladen</button>        
    </div>    
    </div>
    </form>
    PHP-Code:
    if (isset($_POST['add_invoice'])) {    
    include(
    $_SERVER['DOCUMENT_ROOT'] . '/assets/config/db.php');    
    include(
    $_SERVER['DOCUMENT_ROOT'] . '/assets/config/settings.php');  

     
    // Upload File    
    $path '../../../assets/invoices/';    
    $path $path basename($_FILES['invoicefile']['name']);      

    if (
    move_uploaded_file($_FILES['invoicefile']['tmp_name'], $path)) {  
    echo 
    "Datei wurde erfolgreich hochgeladen.\n";    
    } else {        
    print 
    "</br>";        
    print_r($_FILES);    

    Code:
    Array ( [invoicefile] => Array ( [name] => Anmeldebogen_2020.pdf [type] => application/pdf [tmp_name] => /tmp/phpw9An4c [error] => 0 [size] => 470782 ) )

  • #2
    Was sagt das Error Reporting oder was steht im php_error.log?

    Kommentar


    • #3
      PHP Warning: move_uploaded_file(): Unable to move '/tmp/phpw9An4c' to '../../../assets/invoices/Anmeldebogen_2020.pdf' in /var/www/vhosts/example.app/dev.example.app/modul/werkzeug/scripts/addinvoice.php on line 49\n'

      Das ist alles.

      Kommentar


      • #4
        Das reicht ja auch schon. Das hasst du gelesen und verstanden?

        Kommentar


        • #5
          Er findet den Zielordner nicht? Aber warum?

          Kommentar


          • #6
            Entweder Zielordner nicht vorhanden oder aber Schreibgeschützt.

            ausgehend vom jetztigen Scriptordner dort hin
            ../../../assets/invoices/Anmeldebogen_2020.pdf
            wobei die ../ um auf die obere Verzeichnisebene zu kommen ein häufig gemachter Fehler ist. Gehe immer vom Root aus und verwende absolute Pfade und keine relativen.
            Der absolute Pfad wird dir auch angegeben und ist /var/www/vhosts/example.app/dev.example.app/modul/werkzeug/scripts/
            der hintere Teil ist nur dein jetziges Script.

            Jetzt liegt es an dir, mehr können wir nicht tun, du bist dran.

            Kommentar


            • #7
              Vielen Dank für deine Hilfe. Es funktioniert jetzt mit folgendem Pfad.
              PHP-Code:
                $path $_SERVER['DOCUMENT_ROOT'] . '/assets/invoices/'

              Kommentar

              Lädt...
              X