上传多个文件时服务器内存过载

时间:2017-02-18 21:54:52

标签: php ajax file-upload

抱歉英语,在我的项目中,用户可以使用ajax从1到14文件(文件从2mb到50mb)上传,这是简单的php代码:

//percorso della cartella dove mettere i file caricati dagli utenti
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/uploaded/';



############################################
#              FILE 1                      #
############################################

//solo per il file 1
if(!isset( $_FILES['stl1']['tmp_name']) OR $_FILES['stl1']   ['tmp_name']==''){
   $user->set_errors('File 1 non selezionato!!!');

}

//se presente il file 1
if(isset( $_FILES['stl1']['tmp_name']) AND $_FILES['stl1']['tmp_name']!=''){
   //se non c'è l'id del materiale
   if(!isset($_POST['materiale1'])){
      $user->set_errors('Manca il materiale!!!');

   }

   else{

      //Recupero il percorso temporaneo del file
      $userfile_tmp = $_FILES['stl1']['tmp_name'];

      //recupero il nome originale del file caricato
      $userfile_name = $_FILES['stl1']['name'];



  //copio il file dalla sua posizione temporanea alla mia cartella upload
  if (move_uploaded_file($userfile_tmp, $uploaddir . $nome_dropbox)) {
    //Se l'operazione è andata a buon fine...
       //inserisco nel db il file 
                    if($user->insert_lavorazioni($_POST['materiale1'],
                                 $_POST['numero_scheda'],
                                 $_POST['colore'],
                                 $userfile_name)){

                                 $user->debug[]='<br>Lavorazione inserita nel db';



                    }else{
                          $user->set_errors('Problemi nell\'inserimento lavorazione nel db');

                    }


  }else{
    //Se l'operazione è fallta...
    $user->set_errors('Upload NON valido!'); 
  }







   }

}

对于每个文件我称之为另一个脚本等于此。当更多用户同时上传文件时,服务器内存会过载而其他ajax请求例如填充dinamically选择输入不起作用。

如何减少内存使用量?

0 个答案:

没有答案