donglu9445 2016-03-23 00:17
浏览 18
已采纳

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

Below is a code for for uploading a profile image for an actor. Currently when it does the filename that gets added into mysql is in the format of "xxxxx-'original file name'" x being a random number. How can you modify it so that the format will be in the order of "xxxxx-Actors_Name" I want to change the name from the original file name to be the Actors_Name and in the process want to replace any spaces with '_'.

If its even possible would be even better to remove the random number at the start and put the id number that would get assigned when submitting the data to mysql.

<?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条回答 默认 最新

  • doujiu5464 2016-03-23 00:29
    关注

    Instead of

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

    use

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

    to have the actor's name in the file name.

    The 2nd part may be possible, but you have not provided enough information. In general: first insert the new record without the image name, then get the id of the new record, finally use that to construct the image name and update the database and save the image.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路