Witam mam kolejny problem z Symfony. Chce stworzyć uploadowanie obrazka przypisanego do danego wpisu, ale nie potrafię sobie poradzić z problemem. Kiedy dodaje jakiś wpis i wybieram obrazek jego nazwa jest poprawnie zapisywana w bazie i całość operacji zostaje wykonana poprawnie, ale w katalogu uploads/thumbnails nie pojawia się obrazek. Całość obsługuje przy użyciu lifecycleCallBacks. Oto funkcje w encji w której przebiega cała operacja uploadowania:
/**
* @ORM\PrePersist
* @ORM\PreUpdate
*/
public function preSave(){
if(null !== $this->getThumbnailFile()){
if(null !== $this->thumbnail){
$this->thumbnailTemp = $this->thumbnail;
}
$fileName = sha1(uniqid(null, true));
$this->thumbnail = $fileName.'.'.$this->getThumbnailFile()->guessExtension();
}
if(null == $this->createDate){
$this->createDate = new \DateTime();
}
}
/**
* @ORM\PostPersist
* @ORM\PostUpdate
*/
public function postSave(){
if(NULL !== $this->getThumbnailFile()){
$this->getThumbnailFile()->move($this->getUploadRootDir(), $this->thumbnail);
unset($this->thumbnailFile);
if(isset($this->thumbnailTemp)){
unlink($this->getUploadRootDir().'/'.$this->thumbnailTemp);
unset($this->thumbnailTemp);
}
}
}
protected function getUploadRootDir()
{
// the absolute directory path where uploaded documents should be saved
return __DIR__.'/../../../../web/'.$this->getUploadDir();
}
protected function getUploadDir()
{
// get rid of the __DIR__ so it doesn't screw when displaying uploaded doc/image in the view.
return 'uploads/thumbnails/';
}
Sam szukam tu błędu, ale jak dotąd nic nie znalazłem. Zastanawiam się też czy to może być wina serwera, bo używam xamppa na localhoscie, a nie konfigurowałem go w żaden sposób dodatkowo.
Dzięki za uwagę i pomoc, Else.
@edit
Zastanawiam się też czy problemem może być to że katalog web nie jest u mnie katalogiem htdocs ( public_html ) bo zamiast ścieżki http://localhost:8080/app_dev.php/ używam http://localhost:8080/blog/web/app_dev.php/