Php 如何验证Symfony2文件名?
下面的代码将只验证上载文件的临时文件名(类似于/tmp/phpsABCD)Php 如何验证Symfony2文件名?,php,symfony,symfony-2.2,Php,Symfony,Symfony 2.2,下面的代码将只验证上载文件的临时文件名(类似于/tmp/phpsABCD) use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\Validator\Constraints as Assert; /** * @Assert\NotBlank() * @Assert\Regex( * pattern="/^[a-zA-Z0-9\/._-]+$/", * message="
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @Assert\NotBlank()
* @Assert\Regex(
* pattern="/^[a-zA-Z0-9\/._-]+$/",
* message="Invalid filename"
* )
* @var UploadedFile
*/
private $file;
但我想避免用户上传带有umlauts(äü)、方括号和类似字符的文件。验证原始文件名的最佳方法是什么?您不能。PHP是服务器端。您必须使用JavaScript在客户端验证文件名,或者使用JavaScript库为您异步处理文件上载 您可以在这里玩:
干杯 也许可以从中查看一下
$this->getFile()->getClientOriginalName()