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;

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

4

1 回答 1

0

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

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

干杯。

于 2013-09-07T00:58:29.243 回答