Ik heb een uploadscript waarin ook een file wordt verplaatst.<br>
Dit gaat meestal goed maar soms niet. Ik kan de oorzaak niet vinden.

Voorbeeld;

Wanneer ik Nieuwjaar.mp4 verwerk gaat het goed. Het bestand wordt keurig verplaatst.
Bij Nieuwjaar_4.mp4 krijg ik echter onderstaande foutmelding en de file wordt niet verplaatst.


if(!copy($locatie,$destenation)){
echo "failed to copy $locatie";
}
else{
echo "copied $locatie into $destenation\n";
}

Warning: copy(../../home_data/video_files/Nieuwjaar_4.mp4): failed to open stream: No such file or directory in

Iemand een idee wat hiervan de oorzaak kan zijn?

Alvast bedankt.
Blijkbaar bestaat die niet?
En het is 'destination'.
na het uploaden moet je hem met move_uploaded_file() verplaatsen.


<?php
    // even je absolute pad controleren...        
    $uploaddir = '/var/www/home_data/video_files/';
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

    echo "<p>";

    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
        echo "File is valid, and was successfully uploaded.\n";
    } else {
        echo "Upload failed";
    }

    echo "</p>";
    echo '<pre>';
    echo 'Here is some more debugging info:';
    print_r($_FILES);
    print "</pre>";
?>
Het is inderdaad distination. Typefoutje, maar wel consequent doorgevoerd dus dat mag niet uitmaken. De directory bestaat wel want met Nieuwjaar.mp4 gaat het wel goed en wordt naar de juiste bestaande dir gecopieerd.
Kan het te maken met bepaalde tekens zoals _ die niet worden geaccepteerd?

'Destination' dus ;-)

Volgens mij zou het moeten werken met een underscore. Maar als er spaties inzitten kan het wél misgaan. Daarom hebben we url_encode().
Zal toch zelf wel ergens een foutje hebben gemaakt. Hele pagina opnieuw geschreven. Du werkt het wel.
Dank voor de support.
Peter

Reageren