Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 生成随机值以分配上载的文件_Php_Cakephp_Cakephp 2.3 - Fatal编程技术网

Php 生成随机值以分配上载的文件

Php 生成随机值以分配上载的文件,php,cakephp,cakephp-2.3,Php,Cakephp,Cakephp 2.3,我必须为上传的文件分配随机值。这是我的组件代码,控制器代码,我在这里调用组件,但它正在创建一个bud,所以需要帮助 //component App::uses('Component', 'Controller'); $components = array('Useful'); class UsefulComponent extends Component { /*generate random numbers*/ public function

我必须为上传的文件分配随机值。这是我的组件代码,控制器代码,我在这里调用组件,但它正在创建一个bud,所以需要帮助

//component
App::uses('Component', 'Controller');
    $components = array('Useful');
    class UsefulComponent extends Component {

        /*generate random numbers*/
        public function random_code() {
             $chars = "abcdefghijklmnopqrstuvwxyz0123456789";
             srand((double)microtime()*1000000);
             $i = 0;
             $pass = '' ;
             while ($i <= 10) {
                $num = rand() % 33;
                $tmp = substr($chars, $num, 1);
                $pass = $pass . $tmp;
                $i++;
             }
            return $pass;
        }
    }

//contrroller
$random_number = $this->Useful->random_code();
            $random_number.$this->request->data['User']['profile_photo']['tmp_name'];
//组件
应用程序::使用(‘组件’、‘控制器’);
$components=数组(“有用”);
类UsefulComponent扩展组件{
/*生成随机数*/
公共函数随机_码(){
$chars=“abcdefghijklmnopqrstuvxyz012456789”;
srand((双)微时间()*1000000);
$i=0;
$pass='';
而($i有用->随机_代码();
$random_number.$this->request->data['User']['profile_photo']['tmp_name'];

php中有一个ready函数,用于指定唯一的文件名

尝试:



你能在这里展示什么是bug?为了制作上传的文件名,我只使用:uniqid(true)附加到足够的用户信息中,以确定文件的所有者。
$uniqueFilePath = tempnam("/mydir", "file_prefix");

$uploadedFile = $this->request->data['User']['profile_photo']['tmp_name'];
move_uploaded_file($uploadedFile, $uniqueFilePath);
<?php 
    $name = uniqid();
    $tmp_name = $_FILES["pictures"]["tmp_name"];
    move_uploaded_file($tmp_name, $name);
?>