2013-01-30 4 views
0

여기 멀티 이미지 선택기 업 로더가 있습니다. 문제는 내가 선택한 이미지를 한 번 선택한 후 제출하는 것입니다. 요청을받는 데 걸리는 시간이 더 걸리는 이유는 무엇입니까?이미지 업 로더가 더 빠릅니다

데이터베이스 테이블과 열에 대해 걱정할 필요가 없습니다. 전체 데이터베이스를 아직 테스트하지 않은 첫 번째 테스트 이유가 있습니다.

미리 감사드립니다.

<? 
session_start(); 
include('connect.php'); 
?> 

<form action="" method="POST" enctype="multipart/form-data"> 
<input type="file" name="files[]" multiple/> 
<input type="submit"/> 
</form> 

<? 

if(isset($_FILES['files'])){ 
$errors= array(); 
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){ 
    $file_name = $key.$_FILES['files']['name'][$key]; 
    $file_size =$_FILES['files']['size'][$key]; 
    $file_tmp =$_FILES['files']['tmp_name'][$key]; 
    $file_type=$_FILES['files']['type'][$key]; 
    if($file_size > 2097152){ 
     $errors[]='File size must be less than 2 MB'; 
    } 
$desired_dir="Uploads/";  
    $query="INSERT into Pictures (`id`,`Image1`,`Image2`,`Image3`) VALUES('','$desired_dir$file_name','$file_size','$file_type'); "; 
    if(empty($errors)==true){ 
     if(is_dir($desired_dir)==false){ 
      mkdir("$desired_dir", 0700);  // Create directory if it does not exist 
     } 
     if(is_dir("$desired_dir/".$file_name)==false){ 
      move_uploaded_file($file_tmp,"$desired_dir/".$file_name); 
     }else{         // rename the file if another one exist 
      $new_dir="$desired_dir/".$file_name.time(); 
      rename($file_tmp,$new_dir) ;    
     } 
    mysql_query($query);   
    }else{ 
      print_r($errors); 
    } 
} 
if(empty($error)){ 
    echo "Success"; 
} 
} 
?> 
+0

이미지 업로드 및 데이터베이스 삽입시 모든 작업이 느립니다. – BoxyGILLETT

+0

업로드중인 파일의 크기는 어느 정도입니까? 인터넷 연결 속도는 얼마나 빠릅니까? –

+0

최고 크기는 858kb입니다. 내 연결 속도가 무엇인지 모르시겠습니까? 그 밖의 모든 것은 이미지를 업 로더에서 클릭하면로드됩니다. – BoxyGILLETT

답변

1

위의 설명에 따르면 업로드가 정상적으로 보입니다. 인터넷 연결 속도가 느려지고 파일을 업로드 할 때 속도가 느려집니다.

MySQLi 또는 PDO을 적극적으로 사용하시기 바랍니다. 귀하의 현재 스크립트는 공격에 개방되어 있습니다

0

내가 아는 한, 서버에 파일의 멀티 스레딩 업로드가 없습니다. 그리고 업로드 속도는 서버의 다운로드 속도사용자의 업로드 속도 (서버의 다운로드 속도보다 훨씬 느립니다)로 제한됩니다. 유감스럽게도 코드를 변경하여 업로드 속도를 높이는 것은 불가능합니다.

관련 문제