[英]PHP upload no slashes in path
我正在嘗試獲取上載文件的完整路徑。 php代碼是這樣的:
<?php
$destination_path = getcwd() . DIRECTORY_SEPARATOR;
$result = 0;
$target_path = $destination_path . basename($_FILES['thefile']['name']);
if(@move_uploaded_file($_FILES['thefile']['tmp_name'],*$target_path)) {
$result = 1;
}
?>
<script language="javascript" type="text/javascript">
//d = '<?php echo basename( $_FILES['thefile']['name']); ?>';
d = '<?php echo $target_path; ?>';
window.top.window.phpUpload(d);
</script>
我可以使用rem'd out行打開json文件,但是我需要在會話結束時將其返回的路徑。 帶有警報的完整路徑測試顯示為沒有斜杠,並且文件名的首字母'n'丟失了...
任何幫助,不勝感激。
(單擊“名稱”,然后在此測試站點打開nset.json以查看我要執行的操作)
假設您在Windows上使用此功能,其中DIRECTORY_SEPARATOR
是反斜杠。 如果文件名以n
開頭,那么您的Javascript代碼將像這樣結束:
d = '..\path\nameoffile.txt';
與PHP不同,JavaScript會在單引號中解釋\\n
。
解決難題的方法是不使用DIRECTORY_SEPARATOR
,或輸出正確轉義的Javascript字符串:
d = <?php echo json_encode($target_path); ?>;
您是指客戶端計算機上文件的完整路徑嗎? JavaScript安全性不會揭示這一點。 它將僅將實際文件名發送到服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.