我制作了一个用户可以上传多张图片的系统。这些图像存储在数据库中的MEDIUMBLOB类型的字段中。在创建此功能的代码下方。
//Configurações para a geração de um arquivo binário temporário
$diretorio = "temp/";
$nomeArquivo = "sipi_binario.img";
if ($_FILES["arquivo"]["name"][0] != null) {
for ($i = 0; $i < count($_FILES["arquivo"]["tmp_name"]); $i++) {
$pFoto = $_FILES["arquivo"]["tmp_name"][$i];
move_uploaded_file($pFoto, $diretorio . $nomeArquivo);
$pont = fopen($diretorio . $nomeArquivo, "rb");
$dados[4][$i] = base64_encode(fread($pont, filesize($diretorio . $nomeArquivo)));
$dados[5][$i] = $_FILES["arquivo"]["type"][$i];
fclose($pont);
}
}
当用户选择一些iamgens时,系统行为正常,但是当用户选择例如20个图像时,其中一些图像开始被破坏。见下文:
有谁知道这肯定是什么?
答案 0 :(得分:0)
由于如果没有创建多个拇指,同一处理器上的并行处理会丢失,因此有必要将以下行更改为:
move_uploaded_file($pFoto, $diretorio . $nomeArquivo . $i);
$pont = fopen($diretorio . $nomeArquivo . $i, "rb");
$dados[4][$i] = base64_encode(fread($pont, filesize($diretorio . $nomeArquivo . $i)));