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

如果可能的话,甚至最好在开始时删除随机数,然后放置将数据提交给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;
}

?>

最佳答案

代替

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


采用

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


在文件名中包含演员的名字。

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

关于php - 上传图片并更改原始图片文件名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36167622/

10-11 02:31
查看更多