2012-08-31 143 views
0

所以我有这个问题,我的错误没有显示出来,当我测试,看他们是否显示时,他们应该。当我选择一个文件时,我的脚本只能接受图像文件以及任何大于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

+0

是否设置表单标签的加密类型属性ENCTYPE = “的multipart/form-data的”? –

+0

@SandeepTawaniya你可以在他的例子 – AlienWebguy

+0

ohh中清楚地看到..对不起!我没有看到:) –

回答

1

变化if(isset($FILES['image'], $_POST['album_id'])){

if(isset($_FILES['image'], $_POST['album_id'])){

+0

修复它!哇,我不能相信我错过了..谢谢AlienWebguy! – WebDeVGuy24

+1

很高兴能帮到:) – AlienWebguy

+2

哇,我不得不盯着答案五分钟才发现有一个下划线缺失!是时候去睡觉了... – raidenace