اپلود فایل در php

PHP

توسط hasti در 6 سال پیش
0 13k 3 6 سال پیش
hasti rezamax php-sec
0

درود بر شما.
1-من یه کدی دارم درمورد آپلود فایل کدشو براتون قرار میدم امکانش هست این کد رو برای من خط به خط توضیح بدید ممنون میشم.

<?php
	
    if(isset($_POST['btn_upload']))
    {
            
        $error = $_FILES['user_file']['error'];
        $name = $_FILES['user_file']['name'];
        $tempFile = $_FILES['user_file']['tmp_name'];
        if($error == 0)
        {
			$moveFile = move_uploaded_file($tempFile,"files/$name");
			if($moveFile)
			{
				header("location:?msg=ok");
				exit;				
			}
			else
			{
				header("location:?msg=err2");
				exit;
				
			}
		}
        else
        {
            
			header("location:?msg=err1");
			exit;
        }
        
            
    }
	
	
		if(isset($_GET['msg']) && $_GET['msg'] == 'err1')
			print "error file not upload !";	
		if(isset($_GET['msg']) && $_GET['msg'] == 'ok')
			print "file ok upload";	
		if(isset($_GET['msg']) && $_GET['msg'] == 'err2')
			print "file not upload!";	
	
		
		if(file_exists("files/a.txt"))
			print "ok";
		else
			print "errr";
		
    
    ?>
    

	<form method="post" action="" enctype="multipart/form-data">
    	
        File : <input type="file" name="user_file" />
        
        <input type="submit" value="Upload" name="btn_upload" />
    
    </form>
آخرین ویرایش: 21-05-2014 ساعت 23:26، توسط Daniel
0

سلام کدها رو تو تگ کد php قرار بدید تا خوانا باشه.

<?php

if(isset($_POST['btn_upload'])){

	$error = $_FILES['user_file']['error']; // تعریف متغیر برای نگه داری خطاهای احتمالی مثل خطای انتخاب فایل یا حجم بیش از اندازه فایل
	$name = $_FILES['user_file']['name']; // نام فایل
	$tempFile = $_FILES['user_file']['tmp_name']; // نام موقت فایل در سرور
	// اگر خطایی وجود نداشت...
	if($error == 0){
		$moveFile = move_uploaded_file($tempFile,$name); //انتقال فایل به محل جدید
		// ااگر در انتقال فایل انجام شد...
		if($moveFile){
			header("location:?msg=ok"); // بارگذاری دوباره صفحه با ارسال پارامتر برای نمایش پیام
			exit; // همیشه بعد از دستور هدر این دستور نیاز است.
		}
		else
		{
			header("location:?msg=err2");  // بارگذاری دوباره صفحه با ارسال پارامتر برای نمایش پیام
			exit;
		}
	}
	else
	{
		header("location:?msg=err1");  // بارگذاری دوباره صفحه با ارسال پارامتر برای نمایش پیام
		exit;
	}
}

// با توجه به پارامترهای ارسال شده توسد دستور هدر پیامهای مناسب نمایش میدهد
if(isset($_GET['msg']) && $_GET['msg'] == 'err1')
	print "error file not upload !";
	
if(isset($_GET['msg']) && $_GET['msg'] == 'ok')
	print "file ok upload";
	
if(isset($_GET['msg']) && $_GET['msg'] == 'err2')
	print "file not upload!";


// این دستورات ربطی به اپلود فایل ندارن اما موجودیت یک فایل رو چک میکنه
if(file_exists("files/a.txt"))
	print "ok";
else
	print "errr";

?>


<form method="post" action="" enctype="multipart/form-data">

File : <input type="file" name="user_file" />

<input type="submit" value="Upload" name="btn_upload" />

</form>
0

مچکرم.فقط ببخشید این err2برای چیه؟

0

> مچکرم.فقط ببخشید این err2برای چیه؟
سلام در صورتی که تابع move_uploaded_file نتونه کارشو انجام بده err2 نمایش پیدا میکنه.

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.