ثبت بیوگرافی در گوگل
ثبت بیوگرافی در ویکی پدیا
تبلیغات

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

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

فرم به سایت شما این امکان را می دهد که کاربران به خیلی ساده یک فایل را آپلود نمایند. در مثال زیر کد نویسی یک فرم HTML را برای آپلود فایل در PHP مشاهده می کنید.آموزش کامل آپلود فایل در PHP + مثال کاربردیآموزش کامل آپلود فایل در PHP + مثال کاربردی

<html>
<body>
 
<form action="upload_file.php"method="post"
enctype="multipart/form-data">
<label for="file">Filename : </label>
<input type="file"name="file"id="file"><br>
<input type="submit"name="submit"value="Submit">
</form>
 
</body>
</html>

نکات موجود در فرم HTML بالا :

  • مشخصه enctype در برچسب فرم بیان کننده نوع محتوای فایلی است که می خواهد آپلود شود.
  • multipart/form-data زمانی استفاده می شود که فایلی که می خواهد آپلود شود از جنس داده های باینری باشد.
  • مشخصه “type=”file در برچسب input زمانی استفاده می شود که ورودی به عنوان یک فایل پردازش شود. در حقیقت مسئول پردازش فرم است.

در نظر داشته باشید که بارگذاری فایل از طرف کاربران در سرور کاری پر خطر است. تنها به کاربرانی مطمئن اجزا آپلود یک فایل در PHP را بدهید.

ساختن اسکریپت هایی برای آپلود فایل در PHP

فایلی که در دستور HTML ساختیم به نام “upload_file.php” است. این فایل شامل کد هایی برای آپلود فایل در PHP است. این کد ها به صورت زیر است :

<?php
if($_FILES["file"]["error"]>0)
{
echo"Error : ".$_FILES["file"]["error"]."<br>";
}
else
{
echo"Upload : ".$_FILES["file"]["name"]."<br>";
echo"Type : ".$_FILES["file"]["type"]."<br>";
echo"Size : ".($_FILES["file"]["size"]/1024)." kB<br>";
echo"Stored in : ".$_FILES["file"]["tmp_name"];
}
?>

در مثال بالا کد PHP به صورت شرطی نوشته است که اگر متغیر گلوبال file_$ دارای خطا بود ، نمایش دهد که خطا وجود دارد و اطلاعات دیگر را نمایش ندهد در غیر این صورت یعنی اگر متغیر هیچ خطایی را شامل در بر نداشت ، نام فایل ، نوع فایل ، سایز وکپی نام فایلی که به صورت موقتی در سرور ذخیره شده است را نمایش می دهد.

پارامترهایی که در ورودی فایل استفاده می شود به صورت زیر است :

  • نام فایلی که آپلود شده است : $_FILES[“file”][“name”]
  • نوع فایلی که آپلود شده است : $_FILES[“file”][“type”]
  • سایز فایلی که آپلود شده است : $_FILES[“file”][“size”]
  • کپی نام فایلی که به صورت موقتی در سرور ذخیره شده است : $_FILES[“file”][“tmp_name”]

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

محدودیت آپلود فایل در PHP

در این اسکریپت ها یک سری محدودیت ها برای آپلود فایل ها قرار می دهیم. در این مثال تنها فایلی هایی با فرمت های .gif .jpeg و . png و حداکثر تا 20 کیلو بایت می توان آپلود کرد.

<?php
$allowedExts=array("gif"،"jpeg"،"jpg"،"png");
$temp=explode("."،$_FILES["file"]["name"]);
$extension=end($temp);
if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/jpg")
||($_FILES["file"]["type"]=="image/pjpeg")
||($_FILES["file"]["type"]=="image/x-png")
||($_FILES["file"]["type"]=="image/png"))
&&($_FILES["file"]["size"]<20000)
&&in_array($extension،$allowedExts))
{
if($_FILES["file"]["error"]>0)
{
echo"Error : ".$_FILES["file"]["error"]."<br>";
}
else
{
echo"Upload : ".$_FILES["file"]["name"]."<br>";
echo"Type : ".$_FILES["file"]["type"]."<br>";
echo"Size : ".($_FILES["file"]["size"]/1024)." kB<br>";
echo"Stored in : ".$_FILES["file"]["tmp_name"];
}
}
else
{
echo"Invalid file";
}
?>

در این دستور یک آرایه تعریف شده است که اگر فایلی که می خواهیم بارگذاری شود باید یکی از این فرمت ها را دارا باشد و سایز این فایل کمتر از 20000 هزار بایت باشد و در آخر if اول نوشته شده است” و اگر پسوند فایل در آرایه جزو پسوندهای معرفی شده باشد شرط زیر را بررسی کن”

extension یک متغییری به نام Temp تعریف کرده است و آخرین temp مورد نظرش است(فرمت فایل). متغیر temp می گوید اگر نام فایل دارای چندین آرایه بود آن را با علامت” . ” از هم جدا کن. در حقیقت آخرین آرایه بعد از نقطه همان فرمت فایل می شود.

ذخیره کردن فایل آپلود شده

هنگامی که اسکریپت ها به پایان رسیدند یک کپی به صورت موقت از فایل نمایان می شود. برای این که فایل آپلود شده را ذخیره کنیم نیاز داریم آن را در یک جای دیگر کپی کنیم. به مثال زیر دقت کنید :

<?php
$allowedExts=array("gif"،"jpeg"،"jpg"،"png");
$temp=explode("."،$_FILES["file"]["name"]);
$extension=end($temp);
if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/jpg")
||($_FILES["file"]["type"]=="image/pjpeg")
||($_FILES["file"]["type"]=="image/x-png")
||($_FILES["file"]["type"]=="image/png"))
&&($_FILES["file"]["size"]<20000)
&&in_array($extension،$allowedExts))
{
if($_FILES["file"]["error"]>0)
{
echo"Return Code : ".$_FILES["file"]["error"]."<br>";
}
else
{
echo"Upload : ".$_FILES["file"]["name"]."<br>";
echo"Type : ".$_FILES["file"]["type"]."<br>";
echo"Size : ".($_FILES["file"]["size"]/1024)." kB<br>";
echo"Temp file : ".$_FILES["file"]["tmp_name"]."<br>";
 
if(file_exists("upload/".$_FILES["file"]["name"]))
{
echo$_FILES["file"]["name"]." already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"]،
"upload/".$_FILES["file"]["name"]);
echo"Stored in : "."upload/".$_FILES["file"]["name"];
}
}
}
else
{
echo"Invalid file";
}
?>

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


منابع : W3schools/Stackoverfollow

بیوگرافی

پیج اینستاگرام نم نمک

این مطلب مفید بود؟
(1 رای)
100%

نظر دادن