0

我使用 Uploadifive 上传大文件。这工作正常,除了 Android 上的 Firefox。从 Google Drive 中选择上传文件时,该文件首先下载到平板电脑,然后使用 uploadifive 上传。但是 Firefox 正在重命名这个文件名;并在文件名之前加上 tmp_ 和一些数字。所以,如果 test-1.mp3 是我的文件名;我得到 tmp_20950-test-1-5487457458.mp3。

我认为我无法克服 Firefox 所做的重命名。但我可以通过脚本重命名它。到目前为止,我可以删除“tmp_”,但不能删除数字。开头可能有 4 或 5 个数字,也可能有 8 或 10 个数字。

if (preg_match('/tmp_/',$destination_file)){
$destination_file = str_replace('tmp_','',$destination_file);
}

所以我搜索命令来清除这些数字。困难在于不知道要清除多少数字。唯一的“固定”元素是数字前后的条纹“-”。也许我可以在我的命令中使用它?但不知道如何。

4

1 回答 1

0

您可以尝试使用这种模式来获取文件名: /^tmp_\d+-(.*?)-\d+\.(.*?)$/ 第一个匹配项是文件名,第二个匹配项是扩展名。

正则表达式测试器

于 2014-06-30T14:14:50.793 回答