window平台直接存取unix中文檔案路徑時的變通方法,使用php發送

來源:互聯網
上載者:User

測試了一下,ie總是使用utf8來訪問中文 路徑的檔案,這時,空間會提示找不到檔案.

現在使用變通方法後,可以直接在ie上使用中文路徑檔案了

 

test.php

放到目錄下

此目錄中有一中文目錄,在這中文目錄中有中文名字mp3

開啟test.php後,發現點擊 中文路徑.xx.mp3時可以下載了.而不是提示找不到檔案.

 

<?php</p><p>header('Content-Type: text/html;charset=gb2312');<br />$p_f = dirname(_FILE_);<br />echo getPath($p_f.'/中文');</p><p>function getPath($path )<br />{<br /> //$path = code2code($_REQUEST["scanfpath"], $GLOBALS["sysCode"], mb_detect_encoding($_REQUEST["scanfpath"]));<br /> echo $path .'下的目錄<BR>';<br /> if (false == file_exists($path))<br /> {<br /> return "列舉目錄內容出錯:[". $path . "]檔案夾不存在.";<br /> }else if (false == ($pathA = scandir($path)))<br /> {<br /> return "擷取[". $path . "]的子目錄和檔案失敗.";<br /> }</p><p> $folderText = "";<br /> $fileText = "";</p><p> for ($forI = 0; $forI < count($pathA); $forI++)<br /> {<br /> if (($pathA[$forI] <> ".") && ($pathA[$forI] <> ".."))<br /> {<br /> if (is_dir($path . $pathA[$forI]))<br /> {//檔案夾<br /> $folderText .= $pathA[$forI].'|';<br /> }else<br /> {//檔案<br /> $fileText .= '<a href="s_f.php?path='.$path.'/'.$pathA[$forI].'" mce_href="s_f.php?path='.$path.'/'.$pathA[$forI].'" target=_blank>'.$path.'/'.$pathA[$forI].'</a>|';<br /> }<br /> }<br /> }</p><p> return $folderText . $fileText;<br />}<br />?><br />

s_f.php

發送中文檔案的php

<?php<br />$path = $_GET['path'];<br />if (trim($path)=="")<br />{<br /> exit("no empty path.");<br />}</p><p>if (!file_exists($path))<br />{<br /> exit("can't found path.");<br />}</p><p>header("Content-Disposition:attachment; filename=$path");<br />header("Content-Transfer-Encoding: binary");<br />header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1<br />header("Expires: Sat, 26 Jul 2009 05:00:00 GMT"); // Date in the past<br />header('Content-type: audio/mp3');<br />header('Content-length: ' . filesize($path));</p><p>print file_get_contents($path);</p><p>?><br />

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.