Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更改图像上载的名称_Php_Image_Upload - Fatal编程技术网

Php 更改图像上载的名称

Php 更改图像上载的名称,php,image,upload,Php,Image,Upload,我有一个文件来修改我的个人资料,但我需要在上传过程中更改imagem的名称。 我需要这是没有替代图片已经在文件夹中,当我上传 我的文件的代码是: <?php include 'verificar.php'; require_once 'config.php'; $id = $_GET["id"]; $nome = $_POST["nome_perfil"]; $email = $_POST["email_perfil"]; // Configuração da Imagem

我有一个文件来修改我的个人资料,但我需要在上传过程中更改imagem的名称。 我需要这是没有替代图片已经在文件夹中,当我上传

我的文件的代码是:

<?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");
     }
}
?>

您可以更改此设置:

$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
变量

您的意思是什么?如果上载目录中已有同名文件,是否希望重命名该文件?否,我希望重命名上载的任何文件。如何将imagem的名称更改为用户的ID?你能帮我做这件事吗?名字变了,但还是“18JPG”。在数据库名称没有改变的情况下,我修复了它。我放弃了在文件名中添加
,是的,它是固定的。现在是数据库。在我的查询中,如何输入这个名称?添加一个简单的sql语句以获取用户名。。。如果您不知道如何操作,请将您的用户表添加到问题中