it-swarm-id.com

Unggah file menggunakan JInput! mungkin?

saya menggunakan formulir html di salah satu artikel saya, saya berhasil mendapatkan nilai dari formulir menggunakan JInput!

$input = JFactory::getApplication()->input;

Tapi sekarang saya perlu menambahkan nggah file input ke formulir:

<input type="file" name="upload">

Bagaimana cara mengunggah dan menyimpan file di server menggunakan JInput !?

nggahan file dengan batasan, hanya mengizinkan perluasan file tertentu.

6
saibbyweb

Selain jawaban @ Bakual, ​​anggaplah Anda formulir sederhana seperti:

<form name="upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file_upload">
</form>

Untuk mengunggah file setelah tombol kirim ditekan, Anda dapat menggunakan ini:

$input = JFactory::getApplication()->input;
$file  = $input->files->get('file_upload'); 

// Cleans the name of teh file by removing weird characters
$filename = JFile::makeSafe($file['name']); 

$src  = $file['tmp_name'];
$dest = JPATH_BASE . '/modules/mod_mymodule/' . $filename;

if (JFile::upload($src, $dest)) 
{
      // The file has successfully been uploaded :)
} 
else 
{
      // Oh crap, something happened. Run!
}

Anda jelas perlu mengubah jalur ($dest) untuk apa pun yang sesuai dengan kebutuhan Anda.

Ada banyak validasi yang harus Anda lakukan ketika menangani unggahan, banyak di antaranya dapat ditemukan pada tautan yang telah Anda berikan:

http://docs.joomla.org/How_to_use_the_filesystem_package

16
Lodder

Ada dua hal rumit yang biasanya membuat orang gagal ketika mengunggah file menggunakan JInput:

  • Tag formulir Anda harus mengandung enctype="multipart/form-data"
  • Array file diambil dengan $input->files->get('upload');
7
Bakual