モデルを作成しているビューに画像アップロード機能を追加しようとしています。ここで多くのサンプル コードを試しましたが、ファイルへのフル パスを取得できません。私のコードは次のようになります。
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用です、ありがとう