Akshat Goel
Akshat Goel

Reputation: 528

File upload in joomla module

I have been searching this for quite a while but couldn't find a solution to match my need. I am developing a module for Joomla 2.5 . I need functionality to allow users to upload images/any file type from the backend in module configuration.

Question : How can I add field for file upload in joomla module.

Thanks!

Upvotes: 6

Views: 7026

Answers (2)

HamZa
HamZa

Reputation: 14921

Just a sample from the joomla docs:

<?php

//Retrieve file details from uploaded file, sent from upload form
$file = JRequest::getVar('file_upload', null, 'files', 'array');

//Import filesystem libraries. Perhaps not necessary, but does not hurt
jimport('joomla.filesystem.file');

//Clean up filename to get rid of strange characters like spaces etc
$filename = JFile::makeSafe($file['name']);

//Set up the source and destination of the file
$src = $file['tmp_name'];
$dest = JPATH_COMPONENT . DS . "uploads" . DS . $filename;

//First check if the file has the right extension, we need jpg only
if ( strtolower(JFile::getExt($filename) ) == 'jpg') {
   if ( JFile::upload($src, $dest) ) {
      header("Location: http://".$_SERVER["HTTP_HOST"]."/administrator"); Redirect to a page of your choice
   } else {
     echo "error !"; //Redirect and throw an error message
   }
} else {
   echo "Wrong extension !"; //Redirect and notify user file is not right extension
}

?>

For more detailed information and full example(s): http://docs.joomla.org/How_to_use_the_filesystem_package

Upvotes: 7

BastianW
BastianW

Reputation: 2658

Keep in mind that your HTML form must include

enctype="multipart/form-data"

otherwise you will not get any result with the joomla function!

Upvotes: 6

Related Questions