Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何验证Symfony2文件名?_Php_Symfony_Symfony 2.2 - Fatal编程技术网

Php 如何验证Symfony2文件名?

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="

下面的代码将只验证上载文件的临时文件名(类似于/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="Invalid filename"
 * )
 * @var UploadedFile
 */
private $file;

但我想避免用户上传带有umlauts(äü)、方括号和类似字符的文件。验证原始文件名的最佳方法是什么?

您不能。PHP是服务器端。您必须使用JavaScript在客户端验证文件名,或者使用JavaScript库为您异步处理文件上载

您可以在这里玩:


干杯

也许可以从中查看一下
$this->getFile()->getClientOriginalName()