Zidan_@777@, Косяк именно в тех строчках
Застрял во на чем. Хотел сделать загрузку иконки в раздел, загружается картинка, проверяется ее размеры и записывается, название это ид раздела, если большая или маленькая, то ошибка. А потом идет вывод по ид раздела. + Проверяла раздел, если есть у этого раздела иконка, то предлагает ее удалить.
Но не чего не грузить, пробовал разные изменения, проверял папку куда должна загружаться иконка, но она пустая. Тыкните "носом" в чем проблема?
if (isset($_POST['ok']) && $imgc = @imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name']))) {
$img_x = imagesx($imgc);
$img_y = imagesy($imgc);
if ($img_x > 200 || $img_y > 200){
$error = true;
$errort .= "Размер изображения превышает ограничения в 200*200";
}
if ($img_x < 32 || $img_y < 32){
$error = true;
$errort .= "Размер изображения должен быть не менее чем 32*32";
}
if (!$error) {
if ($img_x == $img_y) {
$dstW = 32;
$dstH = 32;
} elseif ($img_x > $img_y) {
$prop = $img_x / $img_y;
$dstW = 32;
$dstH = ceil($dstW / $prop);
} else {
$prop = $img_y / $img_x;
$dstH = 32;
$dstW = ceil($dstH / $prop);
}
if (!$error) {
imagejpeg(H . "pages/load/imgs/$folder[id].png", 90);
@chmod(H . "pages/load/imgs/$folder[id].png", 0777);
move_uploaded_file($_FILES['file']['tmp_name'], H.'pages/load/imgs/'.$folder['id'].'.png');
header("location: /pages/load/");
}
}
if (isset($_GET['del']) && is_file(H . 'pages/load/imgs/'.$folder['id'].'.png')) {
unlink(H . 'pages/load/imgs/'.$folder['id'].'.png');
header("location: /pages/load/");
}
echo $errort;
if (is_file(H . 'pages/load/imgs/' . $folder['id'] . '.png'))
echo "<div id='link'><b><img src='imgs/$folder[id].png' alt=''><br/><a href='?id=$folder[id]&icon&del' style='color:red'>Удалить эмблему</a></div>";
echo "<form method='post' action='?id=$folder[id]&icon&' enctype='multipart/form-data'>
<b>Иконка :</b><br/><input type='file' name='file' style='width:97%'><br/>
<input type='submit' name='ok' value='Выгрузить' style='width:97%'></form>";
mRWiNeT, тут у тебя сначала картинка сохраняется функцией для jpeg а имя у нее png
потом у тебя без обработки перенос картинки
move_uploaded_file($_FILES['file']['tmp_name'], H.'pages/load/imgs/'.$folder['id'].'.png');
он тут лишний, так как ты забираешь картинку сразу
mRWiNeT, ну и проще ресайзить картинку больше 200, чем ошибку пилить
Koenig,
if (isset($_POST['ok']) && $imgc = @imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name']))) {
$img_x = imagesx($imgc);
$img_y = imagesy($imgc);
if ($img_x > 200 || $img_y > 200){
$error = true;
$errort .= "Размер изображения превышает ограничения в 200*200";
}
if ($img_x < 32 || $img_y < 32){
$error = true;
$errort .= "Размер изображения должен быть не менее чем 32*32";
}
if (!$error) {
copy($_FILES['file']['tmp_name'], H.'pages/load/imgs/'.$folder['id'].'.png');
header("location: /pages/load/");
}
}
if (isset($_GET['del']) && is_file(H . 'pages/load/imgs/'.$folder['id'].'.png')) {
unlink(H . 'pages/load/imgs/'.$folder['id'].'.png');
header("location: /pages/load/");
}
echo $errort;
if (is_file(H . 'pages/load/imgs/' . $folder['id'] . '.png'))
echo "<div id='link'><b><img src='imgs/$folder[id].png' alt=''><br/><a href='?id=$folder[id]&icon&del' style='color:red'>Удалить эмблему</a></div>";
echo "<form method='post' action='?id=$folder[id]&icon&' enctype='multipart/form-data'>
<b>Иконка :</b><br/><input type='file' name='file' style='width:97%'><br/>
<input type='submit' name='ok' value='Выгрузить' style='width:97%'></form>";
Удалил не нужный код и чуть поправил. Позже попробую код и отпишусь.
Все, нашел сделал.
Основные ошибки были в этих строчках
echo "<form method='post' action='?id=$folder[id]&icon&' enctype='multipart/form-data'>
<b>Иконка :</b><br/><input type='file' name='file' style='width:97%'><br/>
<input type='submit' name='ok' value='Выгрузить' style='width:97%'></form>";
mRWiNeT, Перестань ты уже строки в двойные кавычки брать...
Это даже читать то не очень приятно
echo'string'.$var.'string2';
ramzes, Уже отучаюсь понемногу.
Где код правлю убираю, с нуля уже не пишу.
$error = true;
$errort .= "Размер изображения должен быть не менее чем 32*32";
Тут хватит одной переменной.
$error = null;
$error = 'bad filetype';
if(!is_null($error) { ... }
ramzes, Для меня то темный лес, я пока-что пишу как мне удобнее и беру пример как было в движке
А так спасибо за поправки