I have a form that can upload an image to my website.
I have thousand images to upload in a folder (test images). I create a symfony Command to import and copy my images to the destination folder.
$url = '/tmp/testimg.jpg';
$photo = new Photo();
$photo->setName('test name');
$photo->setFile(new UploadedFile($url, basename($url)));
$photo->upload();
When i execute the commande i have:
[Symfony\Component\HttpFoundation\File\Exception\FileException]
The file "test name" was not uploaded due to an unknown error.
Function Photo::upload:
public function upload()
{
if (null === $this->file) {
return;
}
$this->file->move(
"/home/julien/work/mysite/src/MyProject/PhotoBundle/Entity/../../../../web/uploads/photos",
$this->name
);
$this->file = null;
}
This looks like the move method crashes. Using absolute paths might be a problem here. You could try this as well:
__DIR__ . '/../../../../web/uploads/photos'
Also make sure that you have proper access to that folder.
I'd also attach a debugger to this just to be sure. You can easily set up a debug session using XDebug and step through your lines. It's always good to step into each function of your code and see where it breaks.
If your code still fails I'd suggest you implement this example and see if it works:
http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html