上传图片并更改原始图片文件名

时间:2016-03-23 00:17:19

标签: php mysql

以下是用于上传演员的个人资料图片的代码。目前,当它添加到mysql中的文件名格式为“xxxxx-'原始文件名'”时x是随机数。如何修改它以使格式的顺序为“xxxxx-Actors_Name”我想将原始文件名中的名称更改为Actors_Name,并且在此过程中想要用'_'替换任何空格。 / p>

如果甚至可能在开始时删除随机数,并且在将数据提交给mysql时输入将被分配的id号更好。

<?php 
mysql_query("SET NAMES 'utf8'");    

if(isset($_POST['submit']))
{

    $image=rand(0,99999)."-".$_FILES['actors_image']['name']; 
        $pic1=$_FILES['actors_image']['tmp_name'];

        $tpath1='upload/'.$image;

             copy($pic1,$tpath1);

                $thumbpath='upload/thumbs/'.$image;
                $obj_img = new thumbnail_images();
                $obj_img->PathImgOld = $tpath1;
                $obj_img->PathImgNew =$thumbpath;
                $obj_img->NewWidth = 100;
                $obj_img->NewHeight = 100;
                    if (!$obj_img->create_thumbnail_images()) 
                        {
                            echo $_SESSION['msg']="Please retry again.";
                            exit;
                        }

                            $data = array(
                                'actors_name'  =>  $_POST['actors_name'],
                                'actors_image   '  => $image    ,
                            );      
                $qry = Insert('tbl_actors',$data);                                  
                $_SESSION['msg']="11";
                header( "Location:actors-manage.php");
                exit;
}

?>

1 个答案:

答案 0 :(得分:0)

而不是

$image=rand(0,99999)."-".$_FILES['actors_image']['name']; 

使用

$image=rand(0,99999)."-".str_replace(' ', '_',$_POST['actors_name']); 

在文件名中包含actor的名称。

第二部分可能,但您没有提供足够的信息。通常:首先插入没有图像名称的新记录,然后获取新记录的id,最后使用它来构建图像名称并更新数据库并保存图像。