Nahrávání obrázků na server – problém s open_basedir

Notice: This thread is very old.
alcuno
Member | 1
+
0
-

Zdravím,
mám malý problém s nahráváním obrázků.
Po nahrání souboru na server mi server hází error:

Nette\FileNotFoundException

File '/tmp/phpnQGcyf' not found.

Log ke stažení.

Zdroj:

public function photoUploadFormSucceeded($button){
        $values = $button->getForm()->getValues();

        $image = Image::fromFile($values->photo);


        $imageName =sha1(uniqid());
        $image->resize(128, 128, Image::SHRINK_ONLY | Image::STRETCH);
        if($userInstance->photo) $image->save('avatars/'.$userInstance->photo.'.jpg');
        else $image->save('avatars/'.$imageName.'.jpg');

        try {
            $userInstance->photo=$imageName;
            $userInstance->update();
        } catch (Exception $exc) {
            $this->flashMessage($this->translate('Unexpected error'), 'alert-error');
            $this->redirect('default');
        }

        $this->flashMessage($this->translate("Photo was successfully uploaded."), 'alert-success');
        $this->redirect('Homepage:about');
    }

Když administrátor serveru vypnul open_basedir tak errorová hlášku už nevskakovalo a aplikace se chovala jak měla.

Zajímalo by mě jestli existuje nějaké jiné řešení, než vypnutí open_basedir.

Dík za odpovědi

Last edited by alcuno (2013-10-08 15:41)

xificurk
Member | 121
+
0
-

Musí být správně nastavena kombinace upload_tmp_dir a open_basedir.

Buď vypneš omezení open_basedir úplně, jak píšeš, nebo musí být upload_tmp_dir nastaven na nějakou lokaci uvnitř open_basedir.