0

Uploadifive を使用して、大きなファイルをアップロードします。Android の Firefox を除いて、これは正常に機能しています。Google ドライブからアップロード ファイルを選択すると、まずそのファイルがタブレットにダウンロードされ、次に 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+\.(.*?)$/ 最初の一致はファイル名で、2 番目の一致は拡張子になります。

正規表現テスター

于 2014-06-30T14:14:50.793 に答える