【问题标题】:Making uploded file get random name not working [closed]使上传的文件获得随机名称不起作用[关闭]
【发布时间】:2014-08-28 23:19:46
【问题描述】:

所以我希望我上传的文件在文件名末尾获得一个随机数,但是 rand() 函数不起作用

$post_image = rand($_FILES['image']['name'],1,100);
$image_tmp = rand($_FILES['image']['tmp_name'],1,100);
move_uploaded_file($image_tmp,"../img/$post_image");
$insert_query = "insert into posts
(post_title,post_date,post_author,post_image,post_keywords,post_content) values 
('$post_title','$post_date','$post_author','$post_image','$post_keywords','$post_content')";

我做错了什么?

【问题讨论】:

  • rand 工作正常,您只是懒得阅读有关如何正确使用它的手册。它要么不接受参数,要么接受 2 个整数。不是一个字符串和两个整数
  • 我怎样才能让它工作,我对 php 很陌生,我需要另一个变量吗?
  • 感觉你问错了问题。你想做什么/预防什么?
  • 当我的图片上传并移动到另一个文件夹时,我正在尝试添加一些随机数。

标签: php string random


【解决方案1】:

文件名可以是myimage.jpg

您需要在扩展之前添加一个随机数,使用类似

$parts = pathinfo($_FILES['image']['name']);
$filename = $parts['filename'];
$extension = $parts['extension'];

$post_image = $filename . rand(1, 100) . '.' . $extension;

// image_tmp does not need a random number added.
$image_tmp = $_FILES['image']['tmp_name'];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 2015-10-28
    相关资源
    最近更新 更多