Обновить изображение информацией в php - PullRequest
0 голосов
/ 21 апреля 2019

Я искал код для обновления моего изображения из базы данных с YouTube и здесь, в stackoverflow. Но я не могу заставить его работать. Изображение может быть обновлено, но заголовок и тело не могут быть отредактированы. пожалуйста, помогите.

я использую его с php и phpmyadmin

это код, который я пытался сделать обновление:

if (isset($_POST['update'])) {

 $id = $_POST['editid'];
 $edtitle = $_POST['edittitle'];
 $edbody = $_POST['editmyTextarea'];
 $file = $_FILES['editpgupload'];

 $filename = $file['name'];
 $fileTmp = $file['tmp_name'];
 $filesize = $file['size'];
 $fileerror = $file['error'];
 $filetype = $file['type'];

$fileExt = explode('.', $filename);
$fileActExt = strtolower(end($fileExt));

$allowed = array('jpg', 'jpeg', 'png');

if (in_array($fileActExt, $allowed)) {
  if ($fileerror === 0) {
    if ($filesize < 1000000) {
      $filenamenew = uniqid('', true).".".$fileActExt;
      $fileds = '../../../image/upload/'.$filenamenew;
      move_uploaded_file($fileTmp, $fileds);

      $sql = "UPDATE patients_guide SET pg_title = '$edtitle', pg_body = '$edbody', pg_image = '$filenamenew' WHERE pg_id = '$id'";
      mysqli_query($conn, $sql);

      header("Location: ../index.php?update=success");
    }else{
      // echo "your image is too large";
      header("Location: ../index.php?error=imagetoolarge");
    }

  }else{
    // echo "There was an error uploading your file";
    header("Location: ../index.php?error=errorupload");
  }

}else{
  // echo "You can not upload this file";
  header("Location: ../index.php?error=cannotupload");
}
}

это только обновляет изображение, но заголовок и тело остаются прежними. это не может быть отредактировано. это должно быть в состоянии обновить заголовок, тело и изображение.

Patient_guide Структура

   CREATE TABLE `patients_guide` (
 `pg_id` int(11) NOT NULL AUTO_INCREMENT,
 `pg_title` varchar(100) NOT NULL,
 `pg_body` text NOT NULL,
 `pg_image` varchar(100) NOT NULL,
 PRIMARY KEY (`pg_id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf

1 Ответ

0 голосов
/ 21 апреля 2019

Я понял.

Для кого-то, у кого такая же проблема, как у меня, вот код:

if (isset($_POST['update'])) {

$id = $_POST['editid'];
$edtitle = $_POST['edittitle'];
$edbody = $_POST['editmyTextarea'];
$file = $_FILES['editpgupload'];

$filename = $file['name'];
$fileTmp = $file['tmp_name'];
$filesize = $file['size'];
$fileerror = $file['error'];
$filetype = $file['type'];

//remove old image
unlink('../../../image/upload/'.$row['pg_image']);

$fileExt = explode('.', $filename);
$fileActExt = strtolower(end($fileExt));

$allowed = array('jpg', 'jpeg', 'png');

if (in_array($fileActExt, $allowed)) {
  if ($fileerror === 0) {
    if ($filesize < 1000000) {
      $filenamenew = uniqid('', true).".".$fileActExt;
      $fileds = '../../../image/upload/'.$filenamenew;
      move_uploaded_file($fileTmp, $fileds);

      $sql = "UPDATE patients_guide SET pg_title = '$edtitle', pg_body = '$edbody', pg_image = '$filenamenew' WHERE pg_id = '$id'";
      mysqli_query($conn, $sql);


      header("Location: ../index.php?update=success");
    }else{
      // echo "your image is too large";
      header("Location: ../index.php?error=imagetoolarge");
    }

  }else{
    // echo "There was an error uploading your file";
    header("Location: ../index.php?error=errorupload");
  }

}else{
  $sql = "UPDATE patients_guide SET pg_title = '$edtitle', pg_body = '$edbody' WHERE pg_id = '$id'";
      mysqli_query($conn, $sql);


      header("Location: ../index.php?update=success");
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...