使用Codeigniter中的URL上传图像(使用csv文件)

时间:2017-04-12 12:45:31

标签: php codeigniter file-upload

我正在尝试使用网址上传图片。它运作正常。图像可以正确上传,但如果图像已经存在则会覆盖文件 这是我的代码 -

    $url=$d[1];
    $name = basename($url);
    $my_location='././assets/temp_upload/';
    if (!defined('IMAGE_DIR')) define('IMAGE_DIR', $my_location);   
    if(!$img = file_get_contents($url))
    { 
     die('Getting that file failed');
    }
    if(!$f = fopen(IMAGE_DIR.'/'.$name, 'w'))
     { 
      die('Opening file for writing failed'); 
     }
    if (fwrite($f, $img) === FALSE)
    { 
     die('Could not write to the file'); 
    }
    fclose($f);  

我只想要,如果图像文件已经存在,则应更改其名称,以便图像不会覆盖。
请帮帮我 感谢。

1 个答案:

答案 0 :(得分:1)

很简单,您可以在图像文件名的末尾添加随机字符串。

$name_temp = basename($url);
$my_location='././assets/temp_upload/';
if (file_exists($my_location.''.$name_temp)) {
  $fileinfo = pathinfo($url);
  $name=$fileinfo['filename'].'_'.rand(1,10000).''.$fileinfo['extension'];
}
else
{
  $name=$name_temp;
}

您可以根据需要自定义此内容。