我正在尝试在创建模型的视图中添加图像上传功能。我在这里尝试了许多示例代码,但无法获取文件的完整路径。我的代码如下所示:
public function submit() {
jimport ( 'joomla.filesystem.file' );
// Check for request forgeries.
JRequest::checkToken () or jexit ( JText::_ ( 'JINVALID_TOKEN' ) );
// Initialise variables.
$app = JFactory::getApplication ();
$model = $this->getModel ( 'createaction' );
// Get the data from the form POST
$data = JRequest::getVar ( 'jform', array (), 'post', 'array' );
echo $data['image']; <-- here
$createdItem = $model->createItem ( $data );
if ($createdItem) {
$redirect = JRoute::_ ( 'index.php?option=com_akcehned&view=actions', false );
$this->setRedirect ( $redirect, "Akce byla vytvořena" );
} else {
echo "<h2>Omlouváme se, ale něco se stalo špatně</h2>";
}
return true;
}
xml中文件输入的一部分:
<field
name="image"
type="file"
description="COM_AKCEHNED_FORM_DESC_CREATEACTION_IMAGE"
label="COM_AKCEHNED_FORM_LBL_CREATEACTION_IMAGE"
size="10"
accept="image/*" />
在我试图回显文件文件输入的地方,我只得到名字(image_name.jpg等),但是我需要全路径吗?我看到了带有['tmp_name']的示例,但对我来说不起作用。我试过这样的代码:
$jinput = $app->input;
$files = $jinput->files->get('jform');
$file = $files['image'];
echo $file;
echo $file['tmp_name'];
但这对我也不起作用。我只是空值。有人可以给我工作代码块,从其他输入中获取数据并从全路径获取文件以进行上传吗?它用于joomla 2.5,谢谢
您需要确保form标记包含enctype属性,并且如果要上传文件,则将其设置为“ multipart / form-data ”。
例如
<form action="" method="post" enctype="multipart/form-data">
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句