اپلود عکس جلسه 8
خوب میخواهیم اپلود عکس در php داشته باشیم ابتدا فرم html رو میسازیم
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet" href="css12.css"> </head> <body> <form action="process.php" enctype="multipart/form-data" method="post"> //process.php اسم فایل میباشد که ما ایجاد کردیم emai :<input type="email" name="email"> <br/> pictur:<input type="file" name="pic"> <br/> <input type="submit"name="btn"> </form> </body> </html>
یه نکته در کد بالا برای اینکه فرم ما قابلیت اپلود عکس داشته باشه باید این کد اضاف بکنیم // البته من در کد بالا گزاشتم
multipart/form-data" method="post
خوب حالا کدهای php در در یک فایل جدا مینویسیم به اسم process.php
$email = $_POST['email']; mkdir("uploader/" . $email); $picname = $_FILES['pic']['name']; $array = explode(".", $picname); $ext = end($array); $new_name = rand() . "." . $ext; $from = $_FILES['pic']['tmp_name']; $to = "uploader/" . $email . "/" . $new_name; move_uploaded_file($from, $to);
این هم توضیحات کد بالا که ترجیح دادم روبروش توضیحات به فارسی بنویسیم.
<?php $email=$_POST['email']; //echo $name; //سوپر گلوبال وریبیل جدید برای اپلود کردن . به همش میگن یک ارایه پس نیاز یه یک فایل دیگه داریم // //$_FILES['name']; //echo $name; //var_dump($_FILES['pic']); //$picname=$_FILES['pic']['name'];// اندیس پیک از صفحه قبلی گرفته . حالا اسم از وردامپ گرفته نه از پوشه قبلی که تو وردامپ اسم فایل با فرمتش با هم است mkdir("uplod/".$email);// . مدارک ارسالی با اسم پوشه ایمیل سیو میشود.این دستور برای ارسال مدارک به پوشه که ما رفتیم درست کردیم به اسم اپلود $picname=$_FILES['pic']['name']; $array=explode(".",$picname);//جدا مییکنه اسم فایل بر اساس نقطه حالا یه فایل ممکنه چندتا نقطه داشته باشه //$total=count($array);//اگر اسم بالا 10 تا نقطه داشته باشه جوابش میشه 9 //var_dump($array[$total-1]);// اخرین عضو نشان میدهد //echo end($array);//انتها رو چاپ میکنه $ext=end($array);//اند به معنی اخر اخر یعنی اخرین کلمه مثلا اگر فرمت یه فال pngباشه جوابش میشهpng $newname=rand().".".$ext;// به خاطر کد بالا یه دونه نقطه اضاف کردم که فرمت فایل درست شود //echo "$ext"; $from=$_FILES['pic']['tmp_name'];//ادرس تمپروری . تو وردامپ مشخص و به زبان سرور به ما نشان میده که به صورت موقت است $to="ulod/".$email."/".$newname;// اسلاش یعنی فولدر move_uploaded_file($from,$to); //همیشه وقتی وردامپ میکنی اخریش میشود فرمت فایل مثلا png که این همون اگستنشن است که بر اساس اون اسم فایل تغییر میدن که عکس تکراری اپلود نشه
پس در نهایت شما یک فایل html دارید و یک فایل php و در نهایت یک پوشه به اسم pic درست میکنم که همه عکسها داخل اون پوشه ریخته بشود البته این قطعه کد اپلودر مدلهای بهتر دیگه هم داره که در جلسات بعدی به ان اشاره میکنم.
دیدگاهتان را بنویسید