我有我的PHP照片上傳腳本的問題。當我上傳一個超過2MB的文件時,它不會顯示錯誤,當我點擊upload..yet它在那裏在我的腳本..任何想法,爲什麼這是?例如。我上傳了一個.wma文件,它的大小是2.38MB ..超過了限制..但它只是說「文件類型不允許」,爲什麼它沒有顯示超過2MB的錯誤?錯誤沒有顯示
這裏是我的腳本:
<?php
include 'init.php';
if(!logged_in()){
header('Location: index.php');
exit();
}
include 'template/header.php';
?>
<h3>Upload Image</h3>
<?php
if(isset($_FILES['image'], $_POST['album_id'])){
$image_name = $_FILES['image']['name'];
$image_size = $_FILES['image']['size'];
$image_temp = $_FILES['image']['tmp_name'];
$allowed_ext = array('jpg', 'jpeg', 'png', 'gif');
$image_ext = strtolower(end(explode('.', $image_name)));
$album_id = $_POST['album_id'];
$errors = array();
if (empty($image_name) || empty($album_id)){
$errors[] = 'Something is missing';
} else {
if(in_array($image_ext, $allowed_ext) === false){
$errors[] = 'File type not allowed';
}
if($image_size > 2097152){
$errors[] = 'Maximum file size is 2MB';
}
if(album_check($album_id) === false){
$errors[] = 'Couldn\'t upload to that album';
}
}
if(!empty($errors)){
foreach ($errors as $error){
echo $error, '<br />';
}
} else {
// upload image
}
}
$albums = get_albums();
if(empty($albums)){
echo '<p>You don\'t have any albums. <a href="create_album.php">Create an album</a></p>';
} else {
?>
<form action="" method="post" enctype="multipart/form-data">
<p>Choose a file:<br /><input type="file" name="image" /></p>
<p>
Choose an album:<br />
<select name="album_id">
<?php
foreach ($albums as $album){
echo '<option value="', $album['id'], '">', $album['name'], '</option>';
}
?>
</select>
</p>
<p><input type="submit" value="Upload" /></p>
</form>
<?php
}
include 'template/footer.php';
?>
再次感謝所有耐心的與我大概簡單的職位很多,你更有經驗的程序員那裏的! -TechGuy24
您是否檢查過「$ image_size」設置爲正確的值?如果您的服務器因其設置而截斷了上傳,那麼您的文件大小是否會低於閾值? – andrewsi
對不起,我不確定我是否理解你的意思? – WebDeVGuy24
嘗試在代碼中的某處添加'echo $ image_size',然後再次上傳您的WMA文件。它會告訴你文件在處理時的實際大小。 – andrewsi