我如何实现与以下相同的标准PHP,但使用symfony 2
$xml = simplexml_load_file($_FILES['updates']['tmp_name']);
答案 0 :(得分:1)
您始终可以在Symfony2 Projects中使用标准PHP代码,但您应该尝试使用框架模块。否则你不需要框架。
您可以通过
访问控制器中的请求$this -> getRequest()
请求包括请求参数(通过POST发送)和查询参数(由GET发送)。所以你可以尝试的首先是寻找getRequest() - > request或getRequest() - >查询。我不认为你会在那里找到tmp文件,但你可以试试。
下一个想法: Symfony支持表单和表单类型文件。 想象一下,你有一个容器类,如:
use Symfony\Component\HttpFoundation\File\UploadedFile;
// ...
class Document
{
/**
* @Assert\File(maxSize="6000000")
*/
private $file;
/**
* Sets file.
*
* @param UploadedFile $file
*/
public function setFile(UploadedFile $file = null)
{
$this->file = $file;
}
/**
* Get file.
*
* @return UploadedFile
*/
public function getFile()
{
return $this->file;
}
}
为此容器类构建表单并处理请求:
/**
* @Template()
*/
public function uploadAction(Request $request)
{
$document = new Document();
$form = $this->createFormBuilder($document)
->add('name')
->add('file')
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
// here you can access the file via $document -> getFile()
// entity manager must only be used if the container class is managed
$em = $this->getDoctrine()->getManager();
$em->persist($document);
$em->flush();
return $this->redirect($this->generateUrl(...));
}
return array('form' => $form->createView());
}
创建对象后,您可以访问该文件。