Witam.

Szukam pluginu/klasy/sposobu na rozpakowywanie archiwów (zip i/lub gz i/lub tar.gz), które zostały uploadowane przez formularz. Przekopuje się przez kolejne storny z pluginami i nie znalazłem jeszcze rozwiązania.

Wracam do dokumentacji.

Dziękuję z góry zapomoc.

Pozdrawiam.

EDIT

Pluginu nie znalazłem - problem rozwiązałem w ten sposób:

  1. protected function processForm(sfWebRequest $request, sfForm $form)
  2. {
  3. $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
  4. if ($form->isValid()) {
  5. $file = $this->form->getValue('templates_file');
  6.  
  7. $filename = $file->getOriginalName();
  8. $extension = $file->getExtension($file->getOriginalExtension());
  9.  
  10. $fmv = substr($filename, 0, stripos($filename, "."));
  11.  
  12. $file->save(sfConfig::get('sf_upload_dir') . '/' . $filename);
  13.  
  14. exec('unzip ' . sfConfig::get('sf_upload_dir') . '/' . $filename);
  15. exec('mv ' . $fmv . ' uploads/templates/' . $this->form->getValue('templates_name'));
  16. exec('rm ' . sfConfig::get('sf_upload_dir') . '/' . $filename);
  17.  
  18. $templates = $form->save();
  19.  
  20. $this->redirect('templates/index');
  21. }
  22. }