How would I add a destination folder for uploaded file?

How would I add a destination folder for uploaded files to this:

<html>
<head><title>Upload</title></head>
<body>
<form method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload" accept="video/*" capture>
    <input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>

Thanks for any help/example code

Thanks for your reply.

I now have this:

<html>
<head><title>Upload</title></head>
<body>
<form action="upload1.php method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload" accept="video/*" capture>
    <input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>

And here is upload1.php code:


<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not a video";
        $uploadOk = 0;
    }
}
// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 50000000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "MP4" && $imageFileType != "MPEG4" && $imageFileType != "MOV"
&& $imageFileType != "OGG" ) {
    echo "Sorry, only MPEG4 & MP4 files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

But, I apparently don’t have the php set for video?

Because I am unsuccessful in uploading and the message I see after attempting (from mobile phone) is:

“File is not a video Sorry, your file was not uploaded.”

Any help/guidance suggestion will be appreciated.

if no other debug options are available, you could at least var_dump() every variable used in your code, backwards from where the error occured

var_dump($check);
var_dump($_FILES["fileToUpload"]["tmp_name"]);
var_dump($_FILES["fileToUpload"]);
var_dump($_FILES);

I think your problem is here, I don’t think getimagesize() works on video, it’s just for still images. So the function will return false for non-image files, which in this case will trigger the else and echo the “File is not a video” message.

Thank you, yes it works now without that section

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.