我有一个文件来修改我的个人资料,但我需要在上传过程中更改图像的名称。 我需要这个,当我上传时,文件夹中已经没有替换图像。
我的档案代码是:
<?php
include 'verificar.php';
require_once 'config.php';
$id = $_GET["id"];
$nome = $_POST["nome_perfil"];
$email = $_POST["email_perfil"];
// Configuração da Imagem
$imagem = $_FILES["imagem_perfil"];
$destino = "img/perfil/".$imagem['name'];
if(isset($_POST["submit"])){
if(empty($nome) || empty($email))
{
header ("Location: index.php?page=erro");
}
elseif(empty($_FILES['imagem_perfil']['name']))
{
mysql_query("UPDATE utilizadores SET Nome='$nome', Email='$email' WHERE ID='$id'");
header ("Location: perfil_completo.php");
}
else
{
mysql_query("UPDATE utilizadores SET Nome='$nome', Email='$email', imgPerfil='".$imagem['name']."' WHERE ID='$id'");
if($imagem['type'] == "image/jpeg"){
move_uploaded_file($imagem['tmp_name'] , $destino);
}else if($imagem['type'] == "image/png"){
move_uploaded_file($imagem['tmp_name'] , $destino);
}else if($imagem['type'] == "image/gif"){
move_uploaded_file($imagem['tmp_name'] , $destino);
}
header ("Location: perfil_completo.php");
}
}
?>
现在解决方案:
<?php
include 'verificar.php';
require_once 'config.php';
$id = $_GET["id"];
$nome = $_POST["nome_perfil"];
$email = $_POST["email_perfil"];
// Configuração da Imagem
$imagem = $_FILES["imagem_perfil"];
$array = explode(".",$imagem['name']);
$destino = "img/perfil/".$id.".".end($array);
if(isset($_POST["submit"])){
if(empty($nome) || empty($email))
{
header ("Location: index.php?page=erro");
}
elseif(empty($_FILES['imagem_perfil']['name']))
{
mysql_query("UPDATE utilizadores SET Nome='$nome', Email='$email' WHERE ID='$id'");
header ("Location: perfil_completo.php");
}
else
{
mysql_query("UPDATE utilizadores SET Nome='$nome', Email='$email', imgPerfil='".$id.".".end($array)."' WHERE ID='$id'");
if($imagem['type'] == "image/jpeg"){
move_uploaded_file($imagem['tmp_name'] , $destino);
}else if($imagem['type'] == "image/png"){
move_uploaded_file($imagem['tmp_name'] , $destino);
}else if($imagem['type'] == "image/gif"){
move_uploaded_file($imagem['tmp_name'] , $destino);
}
header ("Location: perfil_completo.php");
}
}
?>
答案 0 :(得分:1)
你可以改变这个:
$destino = "img/perfil/".$imagem['name'];
到此:
$result = mysql_query("Select Nome from utilizadores WHERE ID='$id'");
$result = mysql_fetch_assoc($result);
$yourName = $result['Nome'];
$array = explode(".",$imagem['name']);
$destino = "img/perfil/".$yourName.".".end($array);
explode()
是为了获取图像sufix。
您可以将名称设置为$yourName
变量