Php 使用输入文件类型编辑图像

Php 使用输入文件类型编辑图像,php,mysql,image,file,edit,Php,Mysql,Image,File,Edit,我做了一个简单的编辑来编辑mysql中的数据,除了当我想要编辑一个输入文件类型的图像时,一切都正常,它不工作,它不会给出错误消息,它只是不编辑任何东西,当我删除输入文件类型的图像时,它工作正常。 通过编辑图像,我的意思是输入一个新图像,它将替换旧图像 这是我的密码: <?php require("db.php"); $id = $_REQUEST['theId']; $result = mysql_query("SELECT * FROM table WHERE id = '

我做了一个简单的编辑来编辑mysql中的数据,除了当我想要编辑一个输入文件类型的图像时,一切都正常,它不工作,它不会给出错误消息,它只是不编辑任何东西,当我删除输入文件类型的图像时,它工作正常。 通过编辑图像,我的意思是输入一个新图像,它将替换旧图像

这是我的密码:

<?php

require("db.php");

$id     = $_REQUEST['theId'];
$result = mysql_query("SELECT * FROM table WHERE id  = '$id'");
$test   = mysql_fetch_array($result);

$name   = $test['Name'] ;
$email  = $test['Email'] ;                  
$image  = $test['Image'] ;

if (isset($_POST['submit']))
{   
    $name_save  = $_POST['name'];
    $email_save = $_POST['email'];

    if (isset($_FILES['image']['tmp_name']))
    {
        $file       = $_FILES['image']['tmp_name'];
        $image      = addslashes(file_get_contents($_FILES['image']['tmp_name']));
        $image_name = addslashes($_FILES['image']['name']);

        move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" . $_FILES["image"]["name"]);
        $image_save ="photos/" . $_FILES["image"]["name"];

        mysql_query("UPDATE table SET Name ='$name_save', Email  ='$email_save',Image ='$image_save' WHERE id = '$id'") or die(mysql_error()); 

        header("Location: index.php");
    }
}
?>



<form method="post">
    <table>
        <tr>
            <td>name:</td>
            <td>
                <input type="text" name="name" value="<?php echo $name ?>"/>
            </td>
        </tr>
        <tr>
            <td>email</td>
            <td>
                <input type="text" name="email" value="<?php echo $email ?>"/>
            </td>
        </tr>
        <tr>
            <td>image</td>
            <td>
                <input type="file" name="image" value="<?php echo $image ?>"/>
            </td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>
                <input type="submit" name="submit" value="submit" />
            </td>
        </tr>
    </table>

形象
表单enctype=“multipart/form data”中缺少,并且表单中没有type=“file”

请给出下面的代码并重试

<?php
require("db.php");
$id =$_REQUEST['theId'];

$result = mysql_query("SELECT * FROM table WHERE id  = '$id'");
$test = mysql_fetch_array($result);

$name=$test['Name'] ;
$email= $test['Email'] ;                    
$image=$test['Image'] ;

if(isset($_POST['submit'])){    
$name_save = $_POST['name'];
$email_save = $_POST['email'];
$image_save=$image //Added if image is not chose from the form post

if (isset($_FILES['image']['tmp_name'])) {
$file=$_FILES['image']['tmp_name'];
$image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" . $_FILES["image"]["name"]);
$image_save ="photos/" . $_FILES["image"]["name"];
}
mysql_query("UPDATE table SET Name ='$name_save', Email  ='$email_save',Image ='$image_save' WHERE id = '$id'")
or die(mysql_error()); 
header("Location: index.php");      }
?>



<form method="post" enctype="multipart/form-data">
<table>
<tr>
<td>name:</td>
<td><input type="text" name="name" value="<?php echo $name ?>"/></td>
</tr>
<tr>
<td>email</td>
<td><input type="text" name="email" value="<?php echo $email ?>"/></td>
</tr>

<tr>
<td>image</td>
<td><input type="file" name="image" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="submit" value="submit" /></td>
</tr>
</table>

您必须使用
input:type=file
元素,而不是
input:type=text
,以便使用
$\u文件处理图像文件。或者您无法获取图像文件。所以你的if语句返回false,什么也没发生

<form method="post" enctype="multipart/form-data">
    <table>
        <tr>
            <td>name:</td>
            <td><input type="text" name="name" value="<?php echo $name ?>"/></td>
        </tr>
        <tr>
            <td>email</td>
            <td><input type="text" name="email" value="<?php echo $email ?>"/></td>
        </tr>

        <tr>
            <td>image</td>
            <td><input type="file" name="image" /></td>
        </tr>
        <tr>
            <td>image preview</td>
            <td><img src="photos/<?php echo $image ?>" /></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" name="submit" value="submit" /></td>
        </tr>
    </table>
</form>

姓名:
我添加了这个enctype=“multipart/form data”>并且成功了。
<form method="post" enctype="multipart/form-data">
    <table>
        <tr>
            <td>name:</td>
            <td><input type="text" name="name" value="<?php echo $name ?>"/></td>
        </tr>
        <tr>
            <td>email</td>
            <td><input type="text" name="email" value="<?php echo $email ?>"/></td>
        </tr>

        <tr>
            <td>image</td>
            <td><input type="file" name="image" /></td>
        </tr>
        <tr>
            <td>image preview</td>
            <td><img src="photos/<?php echo $image ?>" /></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" name="submit" value="submit" /></td>
        </tr>
    </table>
</form>