رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چک کردن اطلاعات فایل قبل از آپلود
#1
سلام
کد زیر رو ببینید مشکل اینجاس که اول آپلود میشه بعد فرمتش گرفته میشه !


<?php
if(isset($_POST['submit']))
{
    $temp_name = $_FILES["file"]["tmp_name"];
    $name = $_FILES["file"]["name"];
    $size = $_FILES["file"]["size"];
  	$dir = 'uploads/';
	$status= 1;
    
if ($size !=0 ){
	$target_file = $dir . basename($name);
    if (!file_exists("uploads")) {
        mkdir("uploads", 0755);
        chmod("uploads", 0755); 
    }
    if (file_exists($target_file)) {
		$name = uniqid()."-".$name;
	}

		
	$file_types = array('jpg','jpeg','png');
	
	if (!in_array(pathinfo($name,PATHINFO_EXTENSION),$file_types)){
		echo "bad format !";
		$status = 0;
	}

    }
          
    if ($status == 1){
    	if (move_uploaded_file($temp_name, $dir."$name") ){
    		chmod("uploads/$name", 0644); 
    			echo "<img src='".$dir.$name."'>";
  		}	
    }
}
?> 
      
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file" />
    <input type="submit" name="submit" value="submit"/>
</form>
پاسخ
تشکر شده توسط:
#2
سلام دوست عزیز. طاعات و عباداتتون قبول باشه. PHP زبان سروره یعنی اگه قراره این کاری که شما میخواید انجام بشه باید اول فایل به سرور فرستاده بشه و بعد بررسی بشه که این دقیقا همون آپلوده.

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

مثل کد زیر ( برای تصاویر jpg ) :
if(document.getElementByID('form_file').files[0].type !== 'image/jpeg') {
alert('Please change the picture');
return false;
}

ضمن اینکه برای استفاده از این کد باید فرم رو با استفاده از AJAX پست کنید.
پاسخ
تشکر شده توسط: eagle-design.ir




کاربران در حال بازدید این موضوع: 1 مهمان