生成随机值来分配上传的文件


generate random value to assign the uploaded file

我必须为上传的文件分配随机值。这是我的组件代码在控制器代码中我调用了组件但是它正在创建一个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'];

在php tempnam

中有一个唯一文件名的现成函数
$uniqueFilePath = tempnam("/mydir", "file_prefix");
$uploadedFile = $this->request->data['User']['profile_photo']['tmp_name'];
move_uploaded_file($uploadedFile, $uniqueFilePath);

Try uniqid():

<?php 
    $name = uniqid();
    $tmp_name = $_FILES["pictures"]["tmp_name"];
    move_uploaded_file($tmp_name, $name);
?>