以下代码仅验证上传文件的临时文件名(如/ 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;
但我想避免用户上传带有变音符号(äü),括号和类似字符的文件。验证原始文件名的最佳方法是什么?
答案 0 :(得分:0)
你做不到。 PHP是服务器端。您必须使用JavaScript在客户端验证文件名,或使用可以异步处理文件上载的JavaScript库。
在这里你可以玩:http://blueimp.github.io/jQuery-File-Upload/
干杯。