我遇到問題。我正在寫一個簡單的上傳文件到服務器的表單。我可以發送任何文件沒有MP3,我不知道爲什麼。 add2.php:「跟發送文件時出錯」將MP3文件發送到服務器
{
$max_size = 104857600;
if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
if ($_FILES['plik']['size'] > $max_size) {
echo 'Error! File is too big!';
} else {
echo 'I have file, name: '.$_FILES['plik']['name'];
$nazwa= $_FILES['plik']['name'];
mysql_query("INSERT INTO files (name) values ('{$nazwa}') ");
echo '<br/>';
if (isset($_FILES['plik']['type'])) {
echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
}
move_uploaded_file($_FILES['plik']['tmp_name'],
$_SERVER['DOCUMENT_ROOT'].'/music/'.$_FILES['plik']['name']);
}
} else {
echo 'Error with sending file!';
}
當我嘗試發送MP3我得到。
編輯:
<form action="add2.php" method="POST" ENCTYPE="multipart/form-data">
<input type="file" name="plik"/><br/>
<input type="submit" value="Send file"/>
</form>';
您的上傳代碼在哪裏?我的猜測是你沒有編碼類型。另外,你的代碼非常不安全。使用PDO或類似的準備/參數化查詢來避免SQL注入攻擊。不要讓用戶在桌面上指定文件的名稱......並且肯定不會將用戶上傳的文件保留在Web服務器的文檔根目錄中。有人可以上傳'something-evil.php'並運行任何他們想要的東西。 – Brad
我插入代碼的形式 – user3084640