logo
logo
تبلیغ کلیکی تاپ سایت 98

آپلود فایل با php

آپلود فایل با php
هدایت عباسی آموزش php

کد کامل آپلود فایل با php همرا با آموزش . شامل کد و فرم html و همچنین چک کردن نوع فایل ، سایز فایل آپلود شده php ، آپلود عکس با php و نکات امنیتی هنگام ارسال فایل های تصویری .

در این بخش آموزش php از تاپ سایت 98 ، آپلود عکس با php  و فایلهای مختلف را بصورت کامل یاد خواهید گرفت. پس با ما باشید.

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

اما در هنگام آپلود فایل باید نهایت دقت را بعمل آورد چرا که از همین طریق می توانند سایت ما را هک کنند.

پیکربندی فایل php.ini

ابتدا اطمینان حاصل کنید که پی اچ پی پیکربندی شده است تا اجازه آپلود فایل را فراهم کند.

در فایل php.ini  شما ، دستورالعمل file_uploads را جستجو کنید و آن را روی on قرار دهید.

file_uploads = On

ساختن فرم آپلود

ساختن فرم آپلود با html را در قسمت زیر می بینید.

برای ساختن فرم از تگ form استفاده می کنیم. نوع type را باید روی file قرار دهید.

فایل ها از طریق فرم ارسال می شوند و سپس با کدهای php ، آن فایل را دریافت می کنید و در جای مناسب ذخیره میکنید.

وقتی نوع input را از نوع file می گیریم یک دکمه browse ایجاد میشود که می توانید فایل را انتخاب کرد.

<!DOCTYPE html>
<html>
<body>
<form action="b.php" method="post" enctype="multipart/form-data">
Select image :<br>
<input type="file" name="fileUp" id="fileUp"><br><br>
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>

چک کردن تصویر با php

کد زیر برای چک کردن تصویر با php استفاده می شود.

اگر فایل ارسالی از نوع تصویر یعنی پسوندهای jpg , png و غیره باشد پیغام می دهد این تصویر است در غیر این صورت پیغام خطا می دهد.

در بسیاری از پروژه های طراحی سایت ، این کد موثر است چرا که در اکثر آنها فایل ارسالی تصویر یا عکس است.

در پوشه پروژه بایستی یک پوشه بنام uploads بسازید.

<?php
$dirUpload = "uploads/";
$target_file = $dirUpload . basename($_FILES["fileUp"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileUp"]["tmp_name"]);
if($check !== false) {
echo "File is image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not image.";
$uploadOk = 0;
}}
?>

چک کردن فایل

چک کردن فایل آپلود شده php با file_exists که آیا چنین فایلی وجود دارد .

اگر چنین فایلی مثلا با نام ali.jpg وجود دارد و ما بخواهیم فایلی با همین نام وارد کنیم اجازه آپلود نمی دهد.

if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}

چک کردن سایز فایل

در زیر کد php برای چک کردن سایز فایل را مشاهده می کنید.

اگر سایز فایل ارسالی بزرگتر از 400 کیلوبایت بود اجازه آپلود نمی دهد.

با استفاده از این روش می توانیم محدودیتی برای فایل های آپلودی ایجاد کنیم . این کدها برای پروژه ها مفید است.

if ($_FILES["fileToUpload"]["size"] > 400000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}

چک کردن نوع فایل

در هنگام آپلود ، چک کردن نوع فایل نیز بسیار مهم است.

کد زیر مشخص می کند که آیا نوع فایل jpg یعنی تصویر است یا خیر.

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

if($imageFileType != "jpg") {
echo "Sorry, only JPG files are allowed.";
$uploadOk = 0;
}

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

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

در این کد تمام موارد چک می شود در نظر بگیرید اگر نوع فایل به غیر از jpg و سایز بزرگتر از 400 کیلوبایت باشد اپلود انجام نخواهد شد.

یعنی حتی پسوند png , gif نیز آپلود نخواهد شد.

در هنگام آپلود فایل با php دقت کنید که هکرها نتوانند از طریق آپلود ، سایت شما را هک کنند.

هکرها از طریق ارسال فایل های مخرب هنگام اپلود فایل می توانند به سایت نفوذ کرده و اطلاعات شما را به سرقت ببرند یا فایل را از دسترس خارج کنند.

متاسفانه افراد مبتدی ، فقط به این نکته توجه می کنند که فایلآپلود شود و هیچ گونه نکته امنیتی را رعایت نمی کنند و نفوذگران نیز از همین نکته استفاده می کنند.

<?php
$dirUpload = "uploads/";
$target_file = $dirUpload . basename($_FILES["fileUp"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileUp"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
if ($_FILES["fileUp"]["size"] > 400000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
if($imageFileType != "jpg" ) {
echo "Sorry, only JPG files are allowed.";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
} else {
if (move_uploaded_file($_FILES["fileUp"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileUp"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>

امیدواریم این کد برای شما مفید باشد.

کد تست شده است و کاملا صحیح می باشد. کافی است این کد را در یک فایل php قرار داده و اجرا نمایید.

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

یا حق

این سایت بفروش می رسد با سئو عالی و بازدید بالا. تماس بگیرید

اگر سوال یا نظری دارید در بخش کامنت ها بنویسید.اگر موضوع خاصی مد نظر شماست که در سایت موجود نیست در بخش کامنت ها بنویسید

دوره ارز دیجیتال تاپ سایت 98

منبع: تاپ سایت 98

تگ:

دوره های آموزشی دوره های آموزشی

نظرات کاربران

از دیدگاه مرتبط با موضوع استفاده نمایید.

از تبلیغ سایت یا شبکه اجتماعی خودداری فرمایید.

برای پاسخ گویی بهتر در سایت ثبت نام نمایید و سپس سوال خود را مطرح فرمایید.