Lihatlah file_save_upload () dan fungsi-fungsi yang menyebutnya.
Fungsi ini akan menangani validasi file, dan menyimpannya ke lokasi baru. Dalam Drupal 7 ini juga menambahkan file ke tabel file_managed.
Perhatikan bahwa file tersebut akan disimpan sebagai file sementara, jadi pastikan untuk mengatur status file menjadi permanen setelahnya.
Anda mungkin ingin menerapkan fungsi file_save_upload di dalam kait validasi formulir Anda (sebelum pengatur pengiriman), sehingga Anda dapat memberi tahu pengguna jika unggahan file gagal, atau tidak memenuhi persyaratan validasi Anda.
Jika nama bidang gambar yang Anda coba validasi adalah image
, maka parameter pertama dari file_save_upload harus berupa gambar, dengan demikian:
$ path = file_save_upload ('image', ...);
Fungsi ini kemudian akan mengembalikan jalur pada server tempat gambar diunggah (jadi Anda dapat menyimpan contoh jalur itu di bidang basis data khusus).
$form['#attributes']['enctype']
di Drupal 7. Ini dijaga secara otomatismultipart/form-data
untuk drupal 7, ini dibangun di drupal 7 saat menggunakan bidang file.$file === null
, yang berarti bahwano file was uploaded
(sesuai dengan spesifikasi: api.drupal.org/api/drupal/includes!file.inc/function / ... ) Apa yang harus saya lakukan dalam kasus itu? Bagaimana saya bisa men-debug hal semacam ini?Saya memiliki fungsi validasi generik yang saya gunakan terutama dalam tema yang perlu mendukung unggahan gambar. Anda mungkin dapat menggunakannya seperti itu, atau dengan perubahan kecil, tetapi ini akan membuat Anda jauh.
Dengan menggunakan fungsi ini, Anda akan mendapatkan filepath sebagai nilai di form submit handler. Anda mungkin menginginkan id file sebagai gantinya, tergantung pada penggunaan Anda.
sumber