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

Unggah gambar di database MYSQL &tampilkan menggunakan PHP dengan Swift

Mendapatkan gambar dari pengguna

Lihat http://php.net/manual/en/reserved.variables. file.php dan http://php.net/manual/en/features.file- upload.php dan teman-teman untuk datail cara menggunakan $_FILES untuk menerima unggahan.

Setelah Anda memiliki gambar dalam variabel, ucapkan $jpg , jangan gunakan fungsi penyandian/penguraian kode teks apa pun; itu hanya akan merusak barang-barang. Berbagai pendekatan di bawah ini akan menjelaskan apa yang harus dilakukan untuk menghindari kesalahan kode 8-bit.

Ada tiga cara untuk menampilkan gambar, masing-masing agak rumit

Menyimpan gambar dalam database; menampilkan gambar sebaris

Saya telah menggunakan pendekatan ini untuk gambar mini, tetapi tidak menyarankan untuk gambar besar.

Simpan di MEDIUMBLOB dalam sebuah tabel, gunakan bin2hex() di PHP untuk mengubah gambar menjadi string. Kemudian gunakan INSERT ... VALUES (UNHEX('...')) untuk beralih kembali ke biner di sisi server MySQL.

Setelah memuat ulang, minta referensi PHP mengatakan sesuatu seperti

$b64 = base64_encode($blob);
echo "<img src='data:image/jpeg;base64,$b64'/>";

Menyimpan gambar dalam database; Skrip PHP untuk menghasilkan gambar

Saya menggunakan ini ketika saya ingin menggunakan fungsi "gambar*" PHP untuk memodifikasi gambar sebelum menampilkannya. Karena ini lebih terlibat daripada yang mungkin Anda butuhkan, saya hanya akan membaca sekilas apa yang perlu dilakukan.

Html untuk halaman akan memanggil skrip lain, dengan argumen apa pun yang Anda butuhkan:

<img src=modify.php?this=stuff&that=stuff>

Kemudian di modify.php , mulai dengan

header('Content-type: image/jpeg');

Dan akhiri dengan ini (dengan asumsi Anda sedang membuat JPEG):

imagejpeg($im);

Menyimpan gambar dalam file

Ini adalah cara yang disukai sebagian besar situs web besar.

Jika file Anda berasal dari unggahan, maka sesuatu seperti ini akan memindahkannya ke jalur yang lebih baik tanpa harus menyentuh jpg.

$tmpfile = $_FILES['userfile']['tmp_name'];
move_uploaded_file($tmpfile, $uploadfile);

Info lebih lanjut dan contoh:http://php.net/manual/ en/function.move-uploaded-file.php

Di HTML, cukup buat sesuatu seperti ini:

<img src=path/to/file>

Lakukan riset tentang tempat di jalur server Anda untuk meletakkan gambar, dan pastikan izinnya memadai.

Catatan:Basis data tidak terlibat dalam penyimpanan gambar, melainkan memiliki kolom untuk menyimpan url "path/to/file" :

image VARCHAR(255) NOT NULL

Untuk diskusi lebih lanjut

  • Mana dari 3 teknik yang ingin Anda gali lebih dalam?
  • Mari kita lihat HTML yang Anda buat.
  • Mari kita lihat SHOW CREATE TABLE .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cadangkan basis data menggunakan kueri tanpa menggunakan mysqldump

  2. jenkins gagal saat memulai ulang sql saya Sudo:tidak ada tty yang ada dan tidak ada program askpass yang ditentukan Maaf, coba lagi.

  3. MySQL Conditional SELECT di SELECT

  4. Bagaimana cara mengatur ASP.NET MVC 2 dengan MySQL?

  5. Migrasi database dari Postgres ke MySQL