gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 01:30:00 25 4
gpt4 key购买 nike

我做了一个简单的编辑来编辑 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>

此外,如果更新时没有选择图像,则应通过sql获取以前的图像值并更新。

关于php - 使用输入文件类型编辑图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18207155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com