3
나는 우리의 웹 사이트에 여러 개의 이미지를 업로드하는 함수를 짓고 있어요, 지금까지 내 업로드 형태로 이것을 가지고 :여러 이미지 업로드 Symfony 3에서 하나의 이미지 만 업로드 하시겠습니까?
<div class="tabs-panel" id="panel3v">
{{ form_start(iu,{action:path('admin_upload-images')}) }}
<div class="row">
<div class="small-3 medium-3 large-3 columns field-label">
<label>Image ID</label>
</div>
<div class="small-9 medium-9 large-9 columns">
{{ form_widget(iu.id) }}
{{ form_errors(iu.id) }}
</div>
</div>
<div class="row">
<div class="small-3 medium-3 large-3 columns field-label">
<label>Image Upload</label>
</div>
<div class="small-9 medium-9 large-9 columns">
{{ form_widget(iu.image) }}
{{ form_errors(iu.image) }}
</div>
</div>
<div class="row">
<div class="small-6 medium-6 large-6 columns">
<button type="submit" class="button" id="saveBtn">Save Changes</button>
</div>
</div>
{{ form_end(iu) }}
</div>
이 다음과 같은 파일 나뭇 가지에 표시됩니다
<?php
namespace Tyson\AdminBundle\Form;
use Doctrine\ORM\EntityRepository;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
class IuType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('id', IntegerType::class);
$builder->add('image', FileType::class, array(
'attr' => array(
'multiple' => 'true',
'data_class' => null
)
));
}
public function getName()
{
return 'iu';
}
}
테스트가 진행되는 동안이 내용이 제출되면 양식을 통해 컨트롤러로 넘겨주는 내용을 출력합니다.
[files] => Symfony\Component\HttpFoundation\FileBag Object
(
[parameters:protected] => Array
(
[iu] => Array
(
[image] => Symfony\Component\HttpFoundation\File\UploadedFile Object
(
[test:Symfony\Component\HttpFoundation\File\UploadedFile:private] =>
[originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => CnY8dRqXYAAoaAw.jpg
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg
[size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 35164
[error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
[pathName:SplFileInfo:private] => /tmp/phpibZuVW
[fileName:SplFileInfo:private] => phpibZuVW
)
)
)
나는 하나 개의 이미지, 또는 100 개 이미지 및 컨트롤러가 다른 작업을 수행하기 전에 여전히 형식은 나에게 하나 개의 이미지를 전달하고를 선택할 수 있습니다 :이 출력됩니다.
참고로이 지금까지 내 컨트롤러 코드입니다 :
<?php
namespace Tyson\AdminBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Security\Core\SecurityContext;
use Symfony\Component\Security\Core\User\UserInterface;
use Tyson\CoreBundle\Entity\Images;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Cookie;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\Form\Form;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\Filesystem\Exception\IOExceptionInterface;
use Symfony\Component\HttpFoundation\File\UploadedFile;
class UploadController extends Controller
{
public function uploadimagesAction(Request $request)
{
$fs = new Filesystem();
$dm = $this->getDoctrine()->getManager();
$dir = '/var/www/html/tyson/web/uploads/images/';
$request = $this->get('request_stack')->getCurrentRequest();
$formdet = $request->request->get('iu');
$imgId = $formdet['id'];
$folderPath = '/var/www/html/tyson/web/uploads/images/'.$imgId;
$imgDirectory = '/var/www/html/tyson/web/uploads/images/'.$imgId.'/';
$folderCheck = $fs->exists($folderPath);
print_r($request);
die();
}
}
나는 형태 번 제출로
file
출력 (컨트롤러에 하나 개 이상의 이미지를하지 포함해야 상상할 것
반복적으로), 그래서 내가이 일이 잘못되도록 무엇을하고 있습니까?