Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Variabel $_POST tidak berfungsi dengan $_FILES dan multipart/form-data

Anda hanya perlu memindahkan barang-barang file Anda ke dalam pernyataan if Anda, dan mengubah $_POST['filebutton'] ke $_FILES['filebutton']

Setiap kali Anda mengupload file, file akan terisi di $_FILES variabel global, dan bidang lainnya diisi di $_POST variabel global.

<?php
$uploaddir = "/var/www/img/pictures/";
if (isset($_FILES['filebutton'])) {  
    $uploadfile = $uploaddir . basename($_FILES['filebutton']['name']);
    move_uploaded_file($_FILES['filebutton']['tmp_name'], $uploadfile);
    $pictureUpdate = ", PICTURE_FILEPATH = '" . $_FILES['filebutton'] . "'";
} else {
    $pictureUpdate = "";
}
$connection = mysqli_connect("1.2.3.4","xxxx","xxxx","xxxx") or die("Caonnot connect to database.");
$update = "UPDATE table SET COLUMN1='" . $_POST['text1'] . "', COLUMN2='" . $_POST['text2'] . "' . $pictureUpdate . " where COLUMN3 = " . $_POST['text1'] . " ";
$update_sql = mysqli_query($connection, $update) or die("Cannot connect to mysql table. ". $update);
header("Location: " . $_SERVER['REQUEST_URL'] . "?success=1");
exit();

coba kode ini, dan lihat apa fungsinya untuk Anda, jika ini berhasil dan yang lainnya tidak, itu berarti ada lebih banyak kode yang kami butuhkan untuk menyelesaikan masalah.

<form name="myForm" METHOD="POST" ACTION="" enctype="multipart/form-data">
  <input type="text" name="text1" id="text1">
  <input type="text" name="text2" id="text2">
  <input type="file" name="filebutton" id="filebutton">
  <input type="submit" name="submit" id="submit">
</form>
<xmp><?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { var_dump($_FILES, $_POST); } ?></xmp>
array(1) {
  ["filebutton"]=>
  array(5) {
    ["name"]=>
    string(21) "scanParser.properties"
    ["type"]=>
    string(24) "application/octet-stream"
    ["tmp_name"]=>
    string(14) "/tmp/phpRm1Ytp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(264)
  }
}
array(3) {
  ["text1"]=>
  string(1) "1"
  ["text2"]=>
  string(1) "2"
  ["submit"]=>
  string(6) "Submit"
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan bidang virtual di cakePHP 2.x

  2. Masukkan nilai kolom stempel waktu MySQL dengan SqlAlchemy

  3. Cara menampilkan dropdown kedua berdasarkan nilai dropdown sebelumnya menggunakan Javascript

  4. gambar tidak diambil dari database menggunakan jalur

  5. Kesalahan fungsi nilai berikutnya