如何验证Symfony2文件名?

时间:2013-08-19 13:18:01

标签: 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="Invalid filename"
 * )
 * @var UploadedFile
 */
private $file;

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

1 个答案:

答案 0 :(得分:0)

你做不到。 PHP是服务器端。您必须使用JavaScript在客户端验证文件名,或使用可以异步处理文件上载的JavaScript库。

在这里你可以玩:http://blueimp.github.io/jQuery-File-Upload/

干杯。