upload فایل

سوال

سلام برای داشتن یک فرم ساده آپلود در php این کد هارو دارم

<?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 an image.";
        $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"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF 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.";
    }
}
?>

روی xampp تست میکنم و هر بار این خطا رو میده

 

Notice: Undefined index: fileToUpload in C:xampphtdocsupload.php on line 3

Notice: Undefined index: fileToUpload in C:xampphtdocsupload.php on line 23
Sorry, only JPG, JPEG, PNG & GIF files are allowed.Sorry, your file was not uploaded.

 

ممنون میشم راهنمای کنید

 

در حال بررسی 0
, 2019-04-07T13:02:17+03:30 1 پاسخ ها کاربر تازه 0

پاسخ ( 1 )

    1
    2019-04-07T17:16:45+03:30

    سلام

    شما طبیعتا یک input دارید از نوع file که کاربر بتونه فایلی رو آپلود کنه، طبق کدهایی که نوشتید، نام این input باید fileToUpload باشه، تا دو خطای زیر رفع بشه:

    Notice: Undefined index: fileToUpload in C:xampphtdocsupload.php on line ۳
    Notice: Undefined index: fileToUpload in C:xampphtdocsupload.php on line ۲۳

    یعنی input شما رو باید به این شکل تعریف کنید:

    <input type="file" name="fileToUpload">

    و شما از خط 28 تا 32، محدودیت گذاشتید که فقط فایل های با پسوند JPG, JPEG, PNG & GIF آپلود بشن و اگه فایلی به غیر از این پسوندها آپلود کنید، بهتون خطایی که گذاشتید رو میده:

     Sorry, only JPG, JPEG, PNG & GIF files are allowed.Sorry, your file was not uploaded.

    اگر میخواید محدودیت پسوند فایل رو بردارید که هر فایلی رو بتونید آپلود کنید، خطهای 28 تا 32 رو حذف کنید.

    یه سورس آپلود فایل در PHP براتون میزارم که در صورت تمایل ازش استفاده کنید، برای دانلود کلیک کنید.

    موفق باشید.

ارسال یک پاسخ