2011-07-13 6 views
0

こんにちは、これは私の保存コードです - >画像がアップロードに成功した場合にのみ、画像がアップロードされますID:mysql -joomlaのファイル名を変更し、ストアにデータベースに一意の名前がありますか?

ファイルがアップロードフォルダに移動したが、アップロードされた画像をデータベースで更新し、アップロードされた画像の名前を変更して、アップロードされた画像の名前を変更して、uplodeされた後mypic.jpgのようなユニークな画像がmypic90.jpgになるように、ユーザIDでデータベースに更新します。私の質問が私のような人に役立つことを願っています

function save() { 

     $greeting = JRequest::get ('POST'); 
     $model = & $this->getModel ('greetings'); 

     $id = $model->saveGreeting ($greeting); 

     if(!empty($id)){ 
      $file = JRequest::getVar ('greeting_pic', null, 'files', 'array'); 

      jimport ('joomla.filesystem.file'); 
      $filename = JFile::makeSafe ($file ['name']); 

      //Set up the source and destination of the file 
      $src = $file ['tmp_name']; 

      //$dest = JPATH_ROOT . BI_IMAGE_BASE . "myfile.jpg<br>"; 
      $dest = JPATH_COMPONENT . DS . "uploads" . DS . $filename; 

      JFile::upload ($src, $dest); 

      // update the field greeting_pic // 
      //$result = $model->updateGreetingPic($filename, $id); 
     } 

     $redirectTo = JRoute::_ ('index.php?option=' . JRequest::getVar ('option') . '&task=display'); 
     $this->setRedirect ($redirectTo, 'Greeting Saved!'); 
    } 

答えて

1

アップロードしたファイルの名前を挨拶の一意のIDに変更し、ファイルの拡張子を保持します。したがって、あなたは、ファイル名の競合を避けるためでしょう:90.jpg 91.png 92.gifなどのような

$newFileName = $id . '.' . strtolower(JFile::getExt($fileName)); 
$dest = JPATH_COMPONENT . DS . "uploads" . DS . $newFileName; 
$result = $model->updateGreetingPic($newFileName, $id); 

がありますファイルを、私はuがupdategretingのPICのために助けることができるコードに疑問を抱いてきた

+0

モデルのコードと答えに感謝します。 –

+0

これは最初の質問の範囲を超えています。コンポーネントのデータベーススキーマとは何ですか? – Serge

+0

ok serg私は自分自身を理解しました。私はphpmyadmin3にmysqlを使っていました。助けてくれてありがとうございます。 –

関連する問題