이미지 업로드 스크립트를 작성 중이며이 문제가 발생했습니다. ImageMagick을 사용하면 다음과 같은 두 줄을 삽입하여 이미지의 크기를 조정하고 업로드 할 시간이 부족하게됩니다.완료시 PHP 스크립트가 종료되지 않습니다.
set_time_limit(120);
ini_set('max_input_time', 120);
이제 스크립트는 끝나지 않습니다. 업로드, 크기 조정 및 데이터베이스 정상적으로 삽입하더라도 지속적으로 페이지가 실행됩니다. 이 충돌은 어떤면에서 서로 충돌합니까? 제한 시간으로 설정 한 120 초를 지나치기도합니다.
편집 : 이것은 스크립트의 전체 이미지 편집 부분입니다.이 이미지는 1 또는 2 이미지로 작동하지만 더 넣을 때 더 오래 걸릴 수 있습니다.
set_time_limit(120);
ini_set('max_input_time', 120);
$resource = NewMagickWand();
MagickReadImage($resource,$image);
MagickSetImageCompressionQuality($resource, 100);
$resource = MagickTransformImage($resource,'0x0','660x500');
MagickWriteImage($resource, $image);
DestroyMagickWand($resource);
이
내가 업로드 할 수있는 모든 이미지를 읽기 위해 사용하는 코드입니다 : (reSizePic은 위의 코드를 호출하는 기능입니다)$numberImages = count($_FILES['galFile']['name'])-1;
for($i=1;$i<=$numberImages;$i++)
{
$imageName = $_FILES['galFile']['name'][$i];
$imageType = $_FILES['galFile']['type'][$i];
$imageSize = $_FILES['galFile']['size'][$i];
$imageTemp = $_FILES['galFile']['tmp_name'][$i];
$imageError = $_FILES['galFile']['error'][$i];
//Make sure it is an image
if(in_array(end(explode(".", $imageName)), $allowed))
{
//Where to upload image to
$uploadFile = $uploadDir . $imageName;
if (file_exists($uploadFile))
{
//What to do if file already exists
//Append random number to the end
$front = explode(".", $imageName);
$randomNum = rand(1,100);
$front[0] = $front[0].$randomNum;
$imageName = $front[0].".".$front[1];
$uploadFile = $uploadDir . $imageName;
}
if(move_uploaded_file($imageTemp,$uploadFile))
{
//Add $imageName to DB
$query = "INSERT INTO galleryImages VALUES(\"0\",\"$lastInsert\",\"$imageName\",\"$i\")";
mysql_query($query);
reSizePic($uploadFile);
}
}
레위
스크립트에 사용중인 PHP 코드를 표시 할 수 있습니까? – Aziz
나머지 이미지 기능에 추가했습니다. – Levi
시도 set_time_limit (0); ? – Aziz