Перезапись картинки

Shahin

Новичок
Здравствуйте, помогите разобраться со следующим. Нужно сделать чтобы
если $_POST['update_images'] пустой то записывается
вот это <input type="hidden" name="update" value="$row"/>
если выбран <input type="file" name="img"/>
тоесть выбрана картинка то выполняется этот код:
PHP:
if ($_POST['update_images']){
$del_img= SIMG.$imgs;
echo $del_img;
//unset($del_img);
//Проверка, действительно ли загруженный файл является изображением
  $imageinfo = getimagesize($_FILES["update_images"]["tmp_name"]);
  if($imageinfo["mime"] != "image/gif" &&
$imageinfo["mime"] != "image/jpg" && $imageinfo["mime"] != "image/jpeg" && $imageinfo["mime"] !="image/png") {
  print "Загруженный файл не является изображением";die;
  }

  //Сохранение загруженного изображения с расширением, которое возвращает функция getimagesize()
  //Расширение изображения
  $mime=explode("/",$imageinfo["mime"]);
  //Имя файла
  $namefile=explode(".",rand(100, 1000).time($_FILES["update_images"]["name"]));
  //Полный путь к директории
  $uploaddir = $_SERVER['DOCUMENT_ROOT']."/shop/img/";
зэ  //Функция, перемещает файл из временной, в указанную вами папку
  if (move_uploaded_file($_FILES["update_images"]["tmp_name"], $uploaddir.$namefile[0].".".$mime[1]));
 

WMix

герр M:)ller
Партнер клуба
За тебя if( empty($_POST...)) написать или что хочешь?
 

Shahin

Новичок
вот весь код (без ! тоже не работает)
PHP:
if (!empty($_FILES['update_images'])){
$del_img= SIMG.$imgs;
//unset($del_img);
//Проверка, действительно ли загруженный файл является изображением
  $imageinfo = getimagesize($_FILES["update_images"]["tmp_name"]);
  if($imageinfo["mime"] != "image/gif" &&
$imageinfo["mime"] != "image/jpg" && $imageinfo["mime"] != "image/jpeg" && $imageinfo["mime"] !="image/png") {
  print "Загруженный файл не является изображением";die;
  }

  //Сохранение загруженного изображения с расширением, которое возвращает функция getimagesize()
  //Расширение изображения
  $mime=explode("/",$imageinfo["mime"]);
  //Имя файла
  $namefile=explode(".",rand(100, 1000).time($_FILES["update_images"]["name"]));
  //Полный путь к директории
  $uploaddir = $_SERVER['DOCUMENT_ROOT']."/shop/img/";
  //Функция, перемещает файл из временной, в указанную вами папку
  if (move_uploaded_file($_FILES["update_images"]["tmp_name"], $uploaddir.$namefile[0].".".$mime[1]));

$img = $namefile[0].".".$mime[1];
connectDB();
$sql_up_az = "UPDATE `products_az`  SET img='".$img."' WHERE id='".$id."'";

$sql_up_ru = "UPDATE `products_ru`  SET  img='".$img."' WHERE id='".$id."'";

$mysqli->query($sql_up_az) or die ("ERROR ".$mysqli->error);
$mysqli->query($sql_up_ru) or die ("ERROR ".$mysqli->error);
closeDB();
}else{
$img=$imgs;
connectDB();
$sql_up_az = "UPDATE `products_az`  SET img='".$img."' WHERE id='".$id."'";

$sql_up_ru = "UPDATE `products_ru`  SET  img='".$img."' WHERE id='".$id."'";
$mysqli->query($sql_up_az) or die ("ERROR ".$mysqli->error);
$mysqli->query($sql_up_ru) or die ("ERROR ".$mysqli->error);
closeDB();
}
connectDB();
$sql_az = "UPDATE `products_az`  SET link='".$link."', keywords='".$keywords_az."', description='".$description_az."', title='".$title_az. "', img='".$img."', descriptions='".$descriptions_az."', price='".$price."' WHERE id='".$id."'";

$sql_ru = "UPDATE `products_ru`  SET link='".$link."', keywords='".$keywords_ru."', description='".$description_ru."', title='".$title_ru."', img='".$img."', descriptions='".$descriptions_ru."', price='".$price."' WHERE id='".$id."'";
$mysqli->query($sql_az) or die ("ERROR ".$mysqli->error);
$mysqli->query($sql_ru) or die ("ERROR ".$mysqli->error);
closeDB();
echo "</div>";
echo "<br /><div class='success_ok'>Запись успешно обновлена!</div>";
Warning: getimagesize(): Filename cannot be empty in /storage/emulated/0/SERVER/htdocs/controls/products/update.phpon line 24
Загруженный файл не является изображением
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
) я тебе грубо перевел твой вопрос
если $_POST['update_images'] пустой
if( empty($_POST...))


читай тут
http://php.net/manual/ru/features.file-upload.post-method.php
В случае, если при отправке формы файл выбран не был, PHP установит переменную$_FILES['userfile']['size'] значением 0, а переменную $_FILES['userfile']['tmp_name'] - пустой строкой. none.
 
Сверху