Comment uploader une image ?
Bonsoir, je suis ce tuto pour uploader une image
http://www.dev-skills.com/upload-fil...e-in-symfony2/
j'ai fait le test mais par contre j'ai cette erreur
Code:
1 2
|
Fatal error: Call to a member function move_uploaded_file() on a non-object in /var/www/grid/src/Service/DocumentBundle/Entity/Upload.php on line 116 |
d'ou sort cette méthode ?
Code:
1 2
|
$this->image->move_uploaded_file($this->getTmpUploadRootDir(), $this->image->getClientOriginalName()); |
je ne vois null par la methode move( ...);
Code:
1 2
|
move($this->getUploadRootDir(), $this->image->getClientOriginalName()); |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
<?php
namespace Service\DocumentBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* ServiceDocumentBundle\Entity\Upload
*
* @ORM\Table()
* @ORM\HasLifecycleCallbacks
* @ORM\Entity
* @ORM\Entity(repositoryClass="ServiceDocumentBundle\Entity\UploadRepository")
*/
class Upload
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $image
*
* @ORM\Column(name="image", type="string", length=255)
*/
private $image;
/**
* @var string $page
*
* @ORM\Column(name="page", type="string", length=255)
*/
private $page;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set image
*
* @param string $image
*/
public function setImage($image)
{
$this->image = $image;
}
/**
* Get image
*
* @return string
*/
public function getImage()
{
return $this->image;
}
/**
* Set page
*
* @param string $page
*/
public function setPage($page)
{
$this->page = $page;
}
/**
* Get page
*
* @return string
*/
public function getPage()
{
return $this->page;
}
public function getFullImagePath() {
return null === $this->image ? null : $this->getUploadRootDir(). $this->image;
}
protected function getUploadRootDir() {
// the absolute directory path where uploaded documents should be saved
return $this->getTmpUploadRootDir().$this->getId()."/";
}
protected function getTmpUploadRootDir() {
// the absolute directory path where uploaded documents should be saved
return __DIR__ . '/../../../../www/upload/';
}
/**
* @ORM\PrePersist()
* @ORM\PreUpdate()
*/
public function uploadImage() {
// the file property can be empty if the field is not required
if (null === $this->image) {
return;
}
if(!$this->id){
$this->image->move($this->getTmpUploadRootDir(), $this->image->getClientOriginalName());
}else{
$this->image->move($this->getUploadRootDir(), $this->image->getClientOriginalName());
}
$this->setImage($this->image->getClientOriginalName());
}
/**
* @ORM\PostPersist()
*/
public function moveImage()
{
if (null === $this->image) {
return;
}
if(!is_dir($this->getUploadRootDir())){
mkdir($this->getUploadRootDir());
}
copy($this->getTmpUploadRootDir().$this->image, $this->getFullImagePath());
unlink($this->getTmpUploadRootDir().$this->image);
}
/**
* @ORM\PreRemove()
*/
public function removeImage()
{
unlink($this->getFullImagePath());
rmdir($this->getUploadRootDir());
}
} |
je vous remercie d'avance pour la réponse :)