joomla 3 백엔드 모듈에서 파일을 업로드하고 싶습니다.Joomla 3 모듈에서 파일 업로드
나는 https://docs.joomla.org/How_to_use_the_filesystem_package라고 말했지만 파일 업로드 버튼이 표시되지 않습니다. 아마도 잘못된 것이 있거나 잘못된 파일에 넣었을 것입니까?
누구든지 도움을받을 수 있습니까? : D
감사합니다.
파일과 languages 태그 사이의 .xml 코드는 다음과 같습니다. 이후 다음에 mymodule.php
<params>
<param name="dir" type="text" label="Directory" description="Directory Upload" default="upload"/>
<param name="type" type="list" default="*" label="Select a file type" description="File type">
<option value="*">Any File </option>
<option value="image/png">PNG</option>
<option value="image/gif">GIF</option>
<option value="image/jpeg">JPEG</option>
<option value="application/zip">ZIP</option>
<option value="application/x-gzip">TAR.GZ</option>
<option value="text/html">HTML</option>
<option value="text/plain">TXT</option>
<option value="application/pdf">PDF</option>
<option value="application/msword">DOC</option>
</param>
<param name="user_names" type="text" label="User Names (optional)" description="Names users (optionas)" default=""/>
</params>
'정의 ('_ JEXEC ') 또는 다이 ('제한된 액세스를 ');' 선.
//Import filesystem libraries. Perhaps not necessary, but does not hurt
jimport('joomla.filesystem.file');
$max = ini_get('upload_max_filesize');
$module_dir = $params->get('dir');
$file_type = $params->get('type');
$user_names = $params->get('user_names');
$msg = '';
function fileUpload($max, $module_dir, $file_type, $msg){
//Retrieve file details from uploaded file, sent from upload form
$file = JRequest::getVar('file_upload', null, 'files', 'array');
// Retorna: Array ([name] => mod_simpleupload_1.2.1.zip [type] => application/zip
// [tmp_name] => /tmp/phpo3VG9F [error] => 0 [size] => 4463)
if(isset($file)){
//Clean up filename to get rid of strange characters like spaces etc
$filename = JFile::makeSafe($file['name']);
if($file['size'] > $max) $msg = JText::_('ONLY_FILES_UNDER').' '.$max;
//Set up the source and destination of the file
$src = $file['tmp_name'];
$dest = $module_dir . DS . $filename;
//First check if the file has the right extension, we need jpg only
if ($file['type'] == $file_type || $file_type == '*') {
if (JFile::upload($src, $dest)) {
//Redirect to a page of your choice
$msg = JText::_('FILE_SAVE_AS').' '.$dest;
} else {
//Redirect and throw an error message
$msg = JText::_('ERROR_IN_UPLOAD');
}
} else {
//Redirect and notify user file is not right extension
$msg = JText::_('FILE_TYPE_INVALID');
}
$msg = "<script>alert('". $msg ."');</script>";
}
return $msg;
}
$user =& JFactory::getUser();
$username = $user->get('username');
$acc = 0;
$session =& JFactory::getSession();
if(isset($user_names)) {
$more = strpos($user_names, ',',0);
if($more >0){
$user_names = explode(',',$user_names);
foreach($user_names as $un){
if($un == $username) {
$session->set($acc, 1);
}else{
$session->set($acc, 0);
}
}
}else{
if ($user_names == $username) $session->set($acc, 1);
}
}else{
if(isset($username)) $session->set($acc, 1);
}
if($session->get($acc) == 1){
?>
<form name="imgform" method="post" action="" enctype="multipart/form-data" onSubmit="if(file_upload.value=='') {alert('Choose a file!');return false;}">
<?php echo JText::_('CHOOSE_FILE'); ?> <input type="file" name="file_upload" size="10" />
<input name="submit" type="submit" value="Upload" />
</form>
<?php
print fileUpload($max, $module_dir, $file_type, $msg);
}
// Adapted from http://docs.joomla.org/How_to_use_the_filesystem_package
?>
당신이 갈이 우리에게 코드 – Lodder
@Lodder을 보여주십시오 데 도움이! :) – mmm