使用输入文件类型编辑图像 [英] editing image by using input file type

查看:109
本文介绍了使用输入文件类型编辑图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做了一个简单的编辑来编辑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']);
$ b move_uploaded_file($ _ FILES [image] [tmp_name],photos /。$ _FILES [image] [name]);
$ image_save =照片/。 $ _FILES [ 形象] [ 名称];
$ b $ mysql_query(UPDATE table SET Name ='$ name_save',Email ='$ email_save',Image ='$ image_save'WHERE id ='$ id')或die(mysql_error()) ;

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



< form method =post>
< table>
< tr>
< td>名称:< / td>
< td>
< input type =textname =namevalue =<?php echo $ name?>/>
< / td>
< / tr>
< tr>
< td>电子邮件< / td>
< td>
< input type =textname =emailvalue =<?php echo $ email?>/>
< / td>
< / tr>
< tr>
< td>图片< / td>
< td>
< input type =filename =imagevalue =<?php echo $ image?>/>
< / td>
< / tr>
< tr>
< td>& nbsp;< / td>
< td>
< input type =submitname =submitvalue =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 //如果图像没有从表单中选择,添加

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 =照片/。 $ _FILES [ 形象] [ 名称];
}
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 =postenctype =multipart / form-data>
< table>
< tr>
< td>名称:< / td>
< td>< input type =textname =namevalue =<?php echo $ name?>/>< / td>
< / tr>
< tr>
< td>电子邮件< / td>
< td>< input type =textname =emailvalue =<?php echo $ email?>/>< / td>
< / tr>

< tr>
< td>图片< / td>
< td>< input type =filename =image/>< / td>
< / tr>
< tr>
< td>& nbsp;< / td>
< td>< input type =submitname =submitvalue =submit/>< / td>
< / tr>
< / table>

此外,如果在更新时未选择图像,则应通过sql和update获取以前的图像值。 / p>

I made a simple editing for to edit data in mysql, everything works fine except when I want to edit an input file type image it doesn't work, it doesn't give an error message it just doesn't edit anything and when I remove the input file type image it works. and by editing an image I mean entering a new image the will replace the old image.

here is my code:

<?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>

解决方案

In form enctype="multipart/form-data" is missing and in your form there is no type="file".

Give the below code and try.

<?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>

Moreover you should get the previous image value through sql and update if image is not chose while updating.

这篇关于使用输入文件类型编辑图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆