آموزش ساخت آپلود سنتر ساده برای عکس

jeyson

Active Member
با سلام
خیلیا دوس داشتن یه آپلود سنتر ساده برای خودشون بسازن اما نمی دونن چطوری!
در این آموزش قصد ساخت یک آپلود سنتر ساده برای عکس و همچنین محدودیت حجمی 2 مگابایت رو داریم.
توجه کنید که اینکه آپلود سنتر شما فقط فرمت خاصی ( مانند jpg ) و یا تا حجم خاصی ( مثلا 2 مگابایت) رو پشتیبانی کنه مبحث اصلی آموزش ماست.
ابتدا یک فایل HTML بسازید با کد های زیر :
[PHPS]
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<meta name="author" content="JEYSON" />


<title>Upload Center</title>
</head>


<body>


<form method="post" action="upload.php" enctype="multipart/form-data">
<label for="file">Upload your file</label>
<input type="file" name="file" /> <br />
<input type="submit" value="Send File" />
</form>


</body>
</html>
[/PHPS]

سپس در کنار اون یک فایل php بسازید با نام upload.php و کد های زیر :
[PHPS]
<?php


/**
* @author JEYSON
* @copyright 2013
*/


function GetRandomName(){
settype($randtxt, "string");
$temp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for($i=0; $i<25; $i++){
$tekrar = rand(0,strlen($temp)-1);
$randtxt .= $temp[$tekrar];
}
return $randtxt;
}// end of func GetRandomName
function GetTypef($name){
$back = strpos($name,".");
$front = strlen($name) - $back;
$type = substr($name,$back,$front);
return $type;
}


$format_f = array("jpg","png", "gif", "jpeg");
$ex = explode(".", $_FILES["file"]["name"]);
$ex_format = end($ex);


if((($_FILES["file"]["type"] == "image/png")
||($_FILES["file"]["type"] == "image/x-png")
||($_FILES["file"]["type"] == "image/jpg")
||($_FILES["file"]["type"] == "image/pjpg")
||($_FILES["file"]["type"] == "image/jpeg")
||($_FILES["file"]["type"] == "image/gif"))
&&(($_FILES["file"]["size"] < 2000000)) // size limit! in here (2mb)
&&(in_array($ex_format,$format_f))){ // check the files type

if($_FILES["file"]["error"] > 0){
echo "Error During upload file! code : " . $_FILES["file"]["error"];
}else{
if(file_exists("upload/" . $_FILES["file"]["name"])){
$rand_name = GetRandomName(); // get ranadom name for pictures
$type_file = GetTypef($_FILES["file"]["name"]); // get type of file;
$_FILES["file"]["name"] = "avatar_" . $rand_name . $type_file; //change file names
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "File Uploaded Succsessfuly! Address : upload/" . $_FILES["file"]["name"];
}else{
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "File Uploaded Succsessfuly! Address : upload/" . $_FILES["file"]["name"];
}
}

}else{
echo "File Not Supported!";
}// end main if
?>
[/PHPS]
تموم شد! دقت کنید که پوشه ی upload هم کنار این دو فایل بسازید.

**** در این درس دو تابع تعریف شده که یکی ، در صورت وجود فایل عکس با نام مشابه از قبل ، یک نام اتفاقی ( random ) برای فایل جدید انتخاب می کند.
و دیگری فرمت فایل آپلود شده را برای استفاده در نام اتفاقی مشخص می کند.
----------------------------------------------------
موفق باشید:oops:
 

جدیدترین ارسال ها

بالا