2012-01-05 5 views
0

삭제할 파일을 제출하기위한 양식 작업 중입니다. 이러한 파일 이름 중 많은 수가 공백 요소를 가지고 있기 때문에 urlencode() 함수를 사용했습니다. 그러나, 내가 urldecode() + 심볼이 공백 문자 &에 디코드되지 않으면 오류가 발생합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 당신은 파일 이름을 디코딩하지 않습니다urldecode() 함수가 공백을 디코딩하지 않습니다. +

<?php 

$file= 'test image.jpg'; 

echo "<form method=\"post\" name=\"deleteFile\" action=\"delete.php?delete=true\">   
<input type=\"hidden\" name=\"FileToDelete\" value=".urlencode($file)." > 
<input class=\"delete_button\" type=\"submit\" value=\"X\"></div></form>"; 

if(isset($_GET['delete']) && $_GET['delete']=='true') { 
echo $_POST[urldecode("FileToDelete")].' #1'.'<br>'; 
echo $_POST[urldecode('FileToDelete')].' #2'.'<br>'; 
echo $_POST[htmlspecialchars(urldecode('FileToDelete'))].' #3'.'<br>'; 
} 

?> 

답변

0

하지만, 텍스트 FileToDelete : 여기

디코딩에 대한 몇 가지 변화와 delete.php에서 코드입니다. 내 생각에 다음과 같이하고 싶습니다.

if(isset($_GET['delete']) && $_GET['delete']=='true') { 
    $decodedFilename = urldecode($_POST['FileToDelete']); 

    echo $decodedFilename.' #1'.'<br>'; 
    echo $decodedFilename.' #2'.'<br>'; 
    echo htmlspecialchars($decodedFilename).' #3'.'<br>'; 
} 
관련 문제