現在有的站點上傳文件的時候會自動在文件前面加入Content-type: image/gif等頭標,導致二進制文件被破壞。因此,我編寫了以文本方式上傳二進制文件的PHP程序。
一共兩個文件:index.php,action.php。將要上傳的文件的文件名改為test,與這兩個文件放在一起,運行index.php,選讀取,將讀取的所有數據Copy,在遠端服務器上面也運行這個程序,Paste到輸入框中,選保存。二進制文件就被上傳了。
index.php
---------------------------------------------------------
<html>
<head>
<title>以文本方式上傳二進制文件的PHP程序</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<table width="760" border="0" cellspacing="0" cellpadding="0" height="25">
<tr>
<td>
<div align="center"><b>圖片上傳</b></div>
</td>
</tr>
</table>
<table width="760" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<form name="form" method="post" action="action.php" target="_blank">
<div align="center">
<textarea name="pic" cols="80" rows="15"></textarea>
<br>
<input type="radio" name="view" value="0" checked>
保存
<input type="radio" name="view" value="1">
試看
<input type="radio" name="view" value="2">
讀取<br>
<input type="submit" name="OK" value=" 確 定 ">
<input type="reset" name="RESET" value=" 取 消 ">
</div>
</form>
</td>
</tr>
</table>
</body>
</html>
---------------------------------------------------------
action.php
---------------------------------------------------------
<?