Hledáme Nette programátory a kolegy - super tým i plat
Zobrazují se odpovědi 1 až 13 z 13

Upload souborů přess Nette u Wedosu

  1. Ahoj, neměl někdy někdo problém s klasickým uploadem souborů přes na hostingu od Wedosu? Na localhostu mě vše proběhne OK, ale když nahraji aplikaci na web, tak mě upload přestane fungovat, i když odesílání trvá úměrně dlouho nahrávaným souborům tak to stejně vypadá jako by se nic nenahrálo, je to stejné jako kdybych do formuláře nic nevyplnil pokud tam mám RULE že upload musí být vyplněn napíše mi to chybu že není vyplněn. Když RULE odstraním a zkusím přímo získat třeba velikost souboru nebo jeho jméno proměná je prázdná. Zkoušel jsem i addon MultipleFileUpload pro nette a mám stejný výsledek. Ještě jednou opakuji že na localhostu mi všechno funguje perfektně. Nemá někdo podobný problém?

  2. Happy Robot :]

    Co se právě děje na Webtrhu?

  3. Dobrý den,
    pošlete sem řádek, kde provádíte upload. A nebo už ArrayHash se souborem je prázdné?

  4. A máš nastavená práva pro zápis do adresáře kam uploaduješ?

  5. Práva nastavené mám, ale o ty tu asi vůbec nejde už proměná kterou dostávám od formuláře je prázdná takže s tím souborem nemůžu nic dělat ani ho někam uložit. Samozřejmě jsem se díval i do logů jestli tam není chyba ale jsou prázdné...

    Zde je můj presenter:

    Kód:
    protected function createComponentAddPlaceForm()
    {
    $types = array(
    'Restaurace' => array(
        '1' => 'Kavárna',
        '2' => 'Pivnice',
        '3' => 'Vinárna',
        '4' => 'Restaurace',
        '5' => 'Pizzerie',
        '6' => 'Bar'
    ),
    'Ubytování' => array(
        '7' => 'Hotel',
        '8' => 'Penzion'
    ));
    $form = new Form;
    $form->addText('name', "Název:")
         ->addRule(Form::MIN_LENGTH, 'Název musí mít minimálně 3 znaky.', 3)
         ->addRule(Form::MAX_LENGTH, 'Název může být maximálně 30 znaků dlouhý.', 30)
         ->addRule(Form::FILLED, 'Název není vyplněno.');
    $form->addSelect('sub_type', 'Typ:', $types)
         ->setPrompt('Zvolte typ')
         ->addRule(Form::FILLED, 'Není zadán typ.');
    $form->addTextArea('description', 'Popis(max. 10000 znaků):')
         ->addRule(Form::MIN_LENGTH, 'Popis musí mít minimálně 100 znaků.', 100)
         ->addRule(Form::MAX_LENGTH, 'Popis je příliš dlouhý', 10000)
         ->addRule(Form::FILLED, 'Název není vyplněno.');
    $form->addText('adress1', "Ulice:")
         ->addRule(Form::MIN_LENGTH, 'Název ulice musí mít minimálně 3 znaky.', 3)
         ->addRule(Form::MAX_LENGTH, 'Název ulice může být maximálně 30 znaků dlouhý.', 30)
         ->addRule(Form::FILLED, 'Není vyplněna ulice.');
    $form->addText('adress2', "Číslo popisné:")
         ->addRule(Form::MAX_LENGTH, 'Číslo popisné může být maximálně 30 znaků dlouhé.', 30)
         ->addRule(Form::FILLED, 'Není vyplněno číslo popisné.');
    $form->addText('city', "Obec:")
         ->addRule(Form::MIN_LENGTH, 'Název obce musí mít minimálně 2 znaky.', 2)
         ->addRule(Form::MAX_LENGTH, 'Název obce může být maximálně 30 znaků dlouhý.', 30)
         ->addRule(Form::FILLED, 'Není vyplněn název obce.');
    $form->addText('psc', "PSČ:")
         ->addRule(Form::MIN_LENGTH, 'PSČ musí mít minimálně 3 znaky.', 3)
         ->addRule(Form::MAX_LENGTH, 'PSČ může být maximálně 10 znaků dlouhé.', 10)
         ->addRule(Form::FILLED, 'Není vyplněno PSČ.');
    $form->addText('www', "WWW:")
         ->addRule(Form::MAX_LENGTH, 'WWW adresa může být maximálně 10 znaků dlouhá.', 30);
    $form->addText('mail', "Mail:")
         ->addRule(Form::FILLED, 'Mail není vyplněn.')
         ->addRule(Form::EMAIL, 'Mail není ve správném formátu.');
    $form->addText('tel1', "Tel 1:")
         ->addRule(Form::MAX_LENGTH, 'Telefon 1 může být maximálně 10 znaků dlouhý.', 10);
    $form->addText('tel2', "Tel 2:")
         ->addRule(Form::MAX_LENGTH, 'Telefon 2 může být maximálně 10 znaků dlouhý.', 10);
    $form->addUpload('thumb', 'Náhledový obrázek:')
         ->addRule(Form::MAX_FILE_SIZE, 'Maximální velikost souboru je 5 MB.', 5000 * 1024 /* v bytech */);
    $form->addUpload('img1', 'Obrázek 1:')
         ->addRule(Form::MAX_FILE_SIZE, 'Maximální velikost obrázku 1 je 5 MB.', 5000 * 1024 /* v bytech */);
    $form->addUpload('img2', 'Obrázek 2:')
         ->addRule(Form::MAX_FILE_SIZE, 'Maximální velikost obrázku 2 je 5 MB.', 5000 * 1024 /* v bytech */);
    $form->addUpload('img3', 'Obrázek 3:')
         ->addRule(Form::MAX_FILE_SIZE, 'Maximální velikost obrázku 3 je 5 MB.', 5000 * 1024 /* v bytech */);
    $form->addSubmit('add', 'Přidat objekt');
    $form->onSuccess[] = callback($this, 'AddPlaceFormSubmitted');
    return $form;
    }
    
    public function AddPlaceFormSubmitted(Nette\Application\UI\Form $form){
    $values = $form->getValues();
    $path = $this->context->params['appDir']."/img/";
    $img = Array();
    $file = $values["thumb"];
    $info = @getimagesize($file);
    if ($file->isOk() && !(empty($info))) {
      $name = $path . md5($file->getName() . rand()) . time() . $file->getName();
      $name_s = $path . md5($file->getName() . rand()) . time() . "small" . $file->getName();
      $file->move($name);
    
      $image = Image::fromFile($name);
      $image->resize(NULL, 117);
      $image->save($name_s);
    
      $img[] = $name;
    }
    
    $file = $values["img1"];
    $info = @getimagesize($file);
    if ($file->isOk() && !(empty($info))) {
      $name = $path . md5($file->getName() . rand()) . time() . $file->getName();
      $file->move($name);
      $img[] = $name;
    }
    $file = $values["img2"];
    $info = @getimagesize($file);
    if ($file->isOk() && !(empty($info))) {
      $name = $path . md5($file->getName() . rand()) . time() . $file->getName();
      $file->move($name);
      $img[] = $name;
    }
    $file = $values["img3"];
    $info = @getimagesize($file);
    if ($file->isOk() && !(empty($info))) {
      $name = $path . md5($file->getName() . rand()) . time() . $file->getName();
      $file->move($name);
      $img[] = $name;
    }
    $this->model->AddPlace($values, $this->getUser()->getId(), $img);
    $this->flashMessage($name, 'success');
    $this->redirect('Profile:');
    }
    
    
    }

  6. Co var_dump $_FILES. Rovněž prázdné?

  7. Když dumpnu $_FILES dostanu kód níže a pak 500 server error:

    Kód:
    array(11) { ["thumb"]=> array(5) { ["name"]=> string(12) "akinator.png" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(6) ["size"]=> int(0) } ["img1"]=> array(5) { ["name"]=> string(10) "eshop1.jpg" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(6) ["size"]=> int(0) } ["img2"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } ["img3"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } ["img4"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } ["img5"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } ["img6"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } ["img7"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } ["img8"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } ["img9"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } ["img10"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } }

  8. UPLOAD_ERR_NO_FILE

    Value: 4; No file was uploaded.

    mas form enctype nastaven spravne?

  9. Form enctype jsi nastaví Nette automaticky ve třídě Uploadcontrol ne?

  10. to ja nevim, nette nerozumim, zato rozumim te chybovce co ti to haze :)) ale to overis jednoduse tim ze se mrknes na vysledny html

  11. Ten error 4 je tam jen proto že z možných deseti polí pro upload mám vyplněné jen dvě, ale zajímavější je ten error u prvních dvou souborů které skutečně uploaduji error 6 NO_TEMP_DIR, otázka je jak to opravit...

  12. Ta struktura v Nette je správná, takže Nette problém nebude.

    Můžete prosím ještě vytisknout HttpUploadedFile a hodit mi jej do privátu?

  13. NO TEMP DIR a nechybí něco ve složce /temp nebo složka celá ? nette ji pokud vím vyžaduje

  14. Tak téma vyřešeno. Po pár minutách na Skype, se nalezla chyba.
    Naposledy upravil Web-Way : 10.02.2012 v 20:20

Podobná témata

  1. Upload souborů - zabezpečení
    By Jan Matoušek in forum PHP
    Odpovědí: 15
    Poslední příspěvek: 11.08.2010, 00:32
  2. upload větších souborů
    By davidek75 in forum PHP
    Odpovědí: 14
    Poslední příspěvek: 06.01.2010, 22:22
  3. Upload souborů ke článkům ve WP
    By Thomasis in forum Wordpress
    Odpovědí: 3
    Poslední příspěvek: 29.04.2009, 11:22
  4. Script na upload souborů
    By PM_ in forum PHP
    Odpovědí: 8
    Poslední příspěvek: 18.11.2008, 16:10
Hostujeme u Server powered by TELE3