4

次のようなスペースが含まれている可能性のあるWebサイトにアップロードするファイルがあります。

    file name 1.wav

アップロードすると正常に表示されますが、ChromeとFirefoxからファイルをダウンロードしようとすると、次の結果が得られます。

  Chrome downloaded: file name 1.wav (perfect)
  firefox downloaded: file (bad) 

name1.wavがnameから削除されました。Firefoxでこの問題を修正するPHPの特定の機能はありますか?

コード:

   <?= str_replace(array("'",'"'), array("&#39;","&quot;"), stripslashes($sFileTitle)) ?>', '<?=$f['fileExtension']?>'

これは、ファイルをダウンロードする必要があるアンカータグの要素を調べるときに表示されるものです。

  <a title="file name 1.wav" fileid="254" class="docLink">file name 1.wav</a>

JQueryを使用して正しいパスにリダイレクトします。

修理:

urlencode($ file)を追加すると修正されましたが、新しい問題が発生しました。今名前でファイル

    file name 1.wav

ダウンロード時にに変わります:

    file+name+1.wav

ダウンロード後に+をスペースに置き換えることはできますか?urldecodeが機能しませんでした

解決:

ここで同じ問題を抱えている他の誰かが私がそれを修正した方法である場合:

urlencode / decodeの代わりに私はこれをしました:

 '"' . stripslashes($file) . '"'

そしてそれはそれを修正しました

4

1 に答える 1

3
<?php
      header("Content-Disposition: attachment; filename=\"$filename\"");
?>
于 2012-10-02T16:13:11.957 に答える