upload فایل
سلام برای داشتن یک فرم ساده آپلود در php این کد هارو دارم
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ ۴۰ ۴۱ ۴۲ ۴۳ ۴۴ |
<?php $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = ۱; $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 = ۱; } else { echo "File is not an image."; $uploadOk = ۰; } } // Check if file already exists if (file_exists($target_file)) { echo "Sorry, file already exists."; $uploadOk = ۰; } // Check file size if ($_FILES["fileToUpload"]["size"] > ۵۰۰۰۰۰) { echo "Sorry, your file is too large."; $uploadOk = ۰; } // Allow certain file formats if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; $uploadOk = ۰; } // Check if $uploadOk is set to 0 by an error if ($uploadOk == ۰) { 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 ۳
Notice: Undefined index: fileToUpload in C:xampphtdocsupload.php on line ۲۳
Sorry, only JPG, JPEG, PNG & GIF files are allowed.Sorry, your file was not uploaded.
ممنون میشم راهنمای کنید
پاسخ ( 1 )
سلام
شما طبیعتا یک input دارید از نوع file که کاربر بتونه فایلی رو آپلود کنه، طبق کدهایی که نوشتید، نام این input باید fileToUpload باشه، تا دو خطای زیر رفع بشه:
یعنی input شما رو باید به این شکل تعریف کنید:
و شما از خط ۲۸ تا ۳۲، محدودیت گذاشتید که فقط فایل های با پسوند JPG, JPEG, PNG & GIF آپلود بشن و اگه فایلی به غیر از این پسوندها آپلود کنید، بهتون خطایی که گذاشتید رو میده:
اگر میخواید محدودیت پسوند فایل رو بردارید که هر فایلی رو بتونید آپلود کنید، خطهای ۲۸ تا ۳۲ رو حذف کنید.
یه سورس آپلود فایل در PHP براتون میزارم که در صورت تمایل ازش استفاده کنید، برای دانلود کلیک کنید.
موفق باشید.