У меня есть этот скрипт:
if(($_POST['number2'] && !$_POST['button_add']) || ($_POST['number2'] && !$_POST['button_add_gal'])) { $num=$_POST['number2'];
for($p=0; $p<$num; $p++) {
if ($_POST['page']=='news') {
$dir = '../images/news/'; // Директорията в която ще се записват файловете
}
if ($_POST['page']=='gallery') {
$dir = '../images/gallery/'; // Директорията в която ще се записват файловете
}
$name[$p]='gal_'.$_FILES['file']['name'][$p];
move_uploaded_file($_FILES['file']['tmp_name'][$p], $dir.$name[$p]);
$filename[$p] = $name[$p];
if ($_POST['page']=='news') {
createThumb('../images'.DIRECTORY_SEPARATOR.'news'.DIRECTORY_SEPARATOR.$filename[$p]);
echo '<img src="../images/news/thumb_'.$filename[$p].'" width="50" height="50" border="0" style="margin-left:10px;">';
}
if ($_POST['page']=='gallery') {
createThumb('../images'.DIRECTORY_SEPARATOR.'gallery'.DIRECTORY_SEPARATOR.$filename[$p]);
echo '<img src="../images/gallery/thumb_'.$filename[$p].'" width="50" height="50" border="0" style="margin-left:10px;">';
if($_POST['page']=='gallery'){
resizeImage('../images'.DIRECTORY_SEPARATOR.'gallery'.DIRECTORY_SEPARATOR.$filename[$p]); }
if ($_POST['page']=='news'){
resizeImage('../images'.DIRECTORY_SEPARATOR.'news'.DIRECTORY_SEPARATOR.$filename[$p]);
}
}
} }
function createThumb($source, $thumb_width=150)
{
$fl = dirname($source);
$new_name = 'thumb_'.basename($source);
$img = imagecreatefromjpeg($source);
$width = imagesx($img);
$height = imagesy($img);
$new_width = $thumb_width;
$new_heght = floor($height * ($thumb_width / $width));
$tmp_img = imagecreatetruecolor( $new_width, $new_heght );
imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_heght, $width, $height);
imagejpeg($tmp_img, $fl.DIRECTORY_SEPARATOR.$new_name);
}
function resizeImage($source, $thumb_width=700)
{
$fl = dirname($source);
$new_name = basename($source);
$img = imagecreatefromjpeg($source);
$width = imagesx($img);
$height = imagesy($img);
$new_width = $thumb_width;
$new_heght = floor($height * ($thumb_width / $width));
$tmp_img = imagecreatetruecolor( $new_width, $new_heght );
imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_heght, $width, $height);
imagejpeg($tmp_img, $fl.DIRECTORY_SEPARATOR.$new_name);
}
Он отлично работает с небольшими картинками, но если я использую большие картинки, он работает только для 2 файлов. Если я прикрепляю 3 или более файлов, он загружает их, и когда страница обновляется, ожидая увидеть загруженные изображения, на странице ничего нет. Он возвращается в состояние по умолчанию. Даже сообщение об ошибке не отображается. Я перенастроил php5.ini upload_max_filesize
на 100M, но все еще ничего. Я использую расширения файла php5, а safe_mode отключен до php5 в режиме CGI, а gd2 активен. В чем может быть проблема?