イメージアップロードスクリプトを作成していて、この問題が発生しました。 ImageMagickを使用すると、時間がなくなり画像がアップロードされるので、次の2行を挿入しました。完了したら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
try set_time_limit(0); ? – Aziz