Php 图像字段错误

Php 图像字段错误,php,Php,如果名称字段和文件字段相同,则此脚本将给出错误。如果我想上传带有a.jpg的文件,并且名称字段也是a的,那么它的重命名错误就不会出现。让我知道如何删除此问题并帮助删除以前的文件 $username=$name ; move_uploaded_file($_FILES["pic"]["tmp_name"],"albumpic/".$_FILES["pic"]["name"]); $ext=substr($_FILES["pic"]["name"],strpos($_FILES["pic"]["na

如果名称字段和文件字段相同,则此脚本将给出错误。如果我想上传带有
a.jpg
的文件,并且名称字段也是
a
的,那么它的重命名错误就不会出现。让我知道如何删除此问题并帮助删除以前的文件

$username=$name ;
move_uploaded_file($_FILES["pic"]["tmp_name"],"albumpic/".$_FILES["pic"]["name"]);
$ext=substr($_FILES["pic"]["name"],strpos($_FILES["pic"]["name"],".")); 
if(file_exists("albumpic/$username$ext"))   { unlink("albumpic/$username$ext"); }

rename( "albumpic/".$_FILES["pic"]["name"],"albumpic/$username$ext");

$newphoto="$username$ext";
//var_dump($photo);
$err="";

这是非常糟糕的代码。首先移动用户提供的文件,该文件将覆盖以前存在的任何内容。您以不可靠的方式提取文件扩展名(想想如果有人上传
mypic.jpg.exe
),会发生什么情况)。然后,在上传的文件可能被之前的内容破坏后,重新命名该文件

假设您有用户“Joe”和“Fred”,其个人资料图片为“Joe.jpg”和“Fred.jpg”。如果Fred上传了一张名为“joe.jpg”的新个人资料图片怎么办。你的系统会破坏乔的形象

请尝试以下方法:

$ext = pathinfo($_FILES['pic']['name'], PATHINFO_EXTENSION);

if (file_exists("albumpic/$username$ext")) {
    unlink("albumpic/$username$ext");
}

if (!move_uploaded_file($_FILES['pic']['tmp_name'], "albumpic/$username$ext")) {
   die("Unable to move user $username's picture to album directory");
}

这是非常糟糕的代码。首先移动用户提供的文件,该文件将覆盖以前存在的任何内容。您以不可靠的方式提取文件扩展名(想想如果有人上传
mypic.jpg.exe
),会发生什么情况)。然后,在上传的文件可能被之前的内容破坏后,重新命名该文件

假设您有用户“Joe”和“Fred”,其个人资料图片为“Joe.jpg”和“Fred.jpg”。如果Fred上传了一张名为“joe.jpg”的新个人资料图片怎么办。你的系统会破坏乔的形象

请尝试以下方法:

$ext = pathinfo($_FILES['pic']['name'], PATHINFO_EXTENSION);

if (file_exists("albumpic/$username$ext")) {
    unlink("albumpic/$username$ext");
}

if (!move_uploaded_file($_FILES['pic']['tmp_name'], "albumpic/$username$ext")) {
   die("Unable to move user $username's picture to album directory");
}

请发布您的表单以及从PHP获得的准确错误消息。请发布您的表单以及从PHP获得的准确错误消息。
致命错误:调用C:\Program Files\xampp\htdocs\shadaab\album_action.PHP中未定义的函数path_info(),第70行
Woops,抱歉,我的输入错误。应该是
pathinfo
,而不带
。我将编辑答案。请帮我回答最后一个问题。。脚本编写进展顺利。但它会不断地增加我的文件夹空间,这就是说,若不存在具有该名称的文件,那个么脚本当然会添加新的pic。但同时,我如何删除之前关联的pic。这就是
文件\u exists()
应该处理的。如果没有删除旧文件,请检查文件_是否存在,取消链接的调用是否正在执行它们应该执行的操作。
致命错误:调用C:\Program files\xampp\htdocs\shadaab\album_action.php中的未定义函数路径_info(),第70行
Woops,对不起,我的输入错误。应该是
pathinfo
,而不带
。我将编辑答案。请帮我回答最后一个问题。。脚本编写进展顺利。但它会不断地增加我的文件夹空间,这就是说,若不存在具有该名称的文件,那个么脚本当然会添加新的pic。但同时,我如何删除之前关联的pic。这就是
文件\u exists()
应该处理的。如果没有删除旧文件,请检查文件_是否存在,以及取消链接调用是否正在执行它们应该执行的操作。