抱歉英语,在我的项目中,用户可以使用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选择输入不起作用。
如何减少内存使用量?