با سلام
خیلیا دوس داشتن یه آپلود سنتر ساده برای خودشون بسازن اما نمی دونن چطوری!
در این آموزش قصد ساخت یک آپلود سنتر ساده برای عکس و همچنین محدودیت حجمی 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 ) برای فایل جدید انتخاب می کند.
و دیگری فرمت فایل آپلود شده را برای استفاده در نام اتفاقی مشخص می کند.
----------------------------------------------------
موفق باشید
خیلیا دوس داشتن یه آپلود سنتر ساده برای خودشون بسازن اما نمی دونن چطوری!
در این آموزش قصد ساخت یک آپلود سنتر ساده برای عکس و همچنین محدودیت حجمی 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 ) برای فایل جدید انتخاب می کند.
و دیگری فرمت فایل آپلود شده را برای استفاده در نام اتفاقی مشخص می کند.
----------------------------------------------------
موفق باشید