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
.