图片-上传没有响应,无法访问$_FILES



这是我的文件上传脚本,我得到以下错误

Notice: Undefined index: fupload in C:UsersTuskarDesktopProjekthtdocsProject IT-SpaceProfileedit_profile_parse.php on line 8

但是根据不应该有错误,因为我识别了索引。似乎我无法访问$_FILES数组,因为在我得到这个错误之前,我已经得到了其他类似的错误,或者程序完全传递了if并直接转到else(未选择的文件)

我知道脚本是原始的,包括几乎没有安全,但我只是希望它首先工作,然后我添加其他功能,如最大文件大小或文件限制…(

这是我正在使用的代码。

Upload Picture
<form action="edit_profile_parse.php" method="get" enctype="multipart/form-data" >
<input type="hidden" name="MAX_FILE_SIZE" value="999999999"> </input>
<input type="file" name="fupload"> </input>
<input type="submit" name="submit" value="Upload"> </input>
</form>
下面是处理表单 的php
if (isset( $_GET['submit'] ))
{
if (isset($_FILES['fupload'] ))
{
echo "name: ".$_FILES['fupload']['name']." <br> ";
echo "size: ".$_FILES['fupload']['sizw']." <br> ";
echo "type: ".$_FILES['fupload']['type']." <br> ";
    if ($_FILES['fupload']['type'] == "image/gif")
    {
        $source = $_FILES['fupload']['tmp_name'];
        $target = "images/" .$_FILES['fupload']['name'];
        move_uploaded_file($source, $target) or die ("Error: " .mysql_error());
        $size = getImageSize($target);
        $imgstr = "<img src=" '".$target."' ">";
        echo $imgstr;
    }
    else
    {
    echo "Problem uploading the file ... ";
    }
}   
else
{
echo "No file chosen !! ";
}
}
else
{
echo "Button not clicked ";
}

你应该使用form方法来POST而不是get。

<form action="edit_profile_parse.php" method="post" enctype="multipart/form-data" >

确保你的FORM标签有method="POST"。GET请求不支持多部分/form-data上传

我希望这行得通:形式:

<form action="edit_profile_parse.php" method="post" enctype="multipart/form-data" >
    <input type="hidden" name="MAX_FILE_SIZE" value="999999999"> </input>
    <input type="file" name="fupload"> </input>
    <input type="submit" name="submit" value="Upload"> </input>
</form>

PHP文件

<?php
if($_POST) {
    $max_size = mysql_real_escape_string(strip_tags($_POST['MAX_FILE_SIZE']));
    $file = $_FILES['fupload']['name'];
    if(isset($max_size) && !empty($max_size) && !empty($file)) {
        $file_type = $_FILES['fupload']['type'];
        $tmp = $_FILES['fupload']['tmp_name'];
        $file_size = $_FILES['fupload']['size'];
        $allowed_type = array('image/png', 'image/jpg', 'image/jpeg', 'image/gif');
        if(in_array($file_type, $allowed_type)) {
            if($file_size < $max_size) {
                $path = 'images/'.$file;
                move_uploaded_file($tmp, $path);
                //if you want to store the file in a db use the $path in the query
            } else {
                echo 'File size: '.$file_size.' is too big';
            }
        } else {
            echo 'File type: '.$file_type.' is not allowed';
        }
    } else {
        echo 'There are empty fields';
    }
}
?>

上传图片

<form action="edit_profile_parse.php" method="POST" enctype="multipart/form-data" >
<input type="hidden" name="MAX_FILE_SIZE" value="999999999"> </input>
<input type="file" name="fupload"> </input>
<input type="submit" name="submit" value="Upload"> </input>
</form>  
PHP文件

 <?php 
    if (isset( $_POST['submit'] ))
    {
    if (isset($_FILES['fupload'] ))
    {
    echo "name: ".$_FILES['fupload']['name']." <br> ";
    echo "size: ".$_FILES['fupload']['size']." <br> ";
    echo "type: ".$_FILES['fupload']['type']." <br> ";
        if ($_FILES['fupload']['type'] == "image/gif")
        {
            $source = $_FILES['fupload']['tmp_name'];
            $target = "images/" .$_FILES['fupload']['name'];
            move_uploaded_file($source, $target) or die ("Error: " .mysql_error());
            $size = getImageSize($target);
            $imgstr = "<img src=" '".$target."' ">";
            echo $imgstr;
        }
        else
        {
        echo "Problem uploading the file ... ";
        }
    }   
    else
    {
    echo "No file chosen !! ";
    }
    }
    else
    {
    echo "Button not clicked ";
    }
    ?>

相关内容

  • 没有找到相关文章

最新更新