2017-06-09 21 views
-2

うまく動作する複数のファイルをアップロードするためのアップロードスクリプトがあります。しかし、アップロード時にファイルの名前をページの変数と乱数の名前に変更したい場合アップロード時にファイルの名前を変更

if(isset($_FILES['files'])){ 
    $errors= array(); 
    foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){ 
     $file_name = $key.$_FILES['files']['name'][$key]; 
     $file_size =$_FILES['files']['size'][$key]; 
     $file_tmp =$_FILES['files']['tmp_name'][$key]; 
     $file_type=$_FILES['files']['type'][$key]; 
     $desired_dir="hr-documents"; 
     if(empty($errors)==true){ 
      if(is_dir($desired_dir)==false){ 
       mkdir("$desired_dir", 0700);  // Create directory if it does not exist 
      } 
      if(is_dir("$desired_dir/".$file_name)==false){ 
       move_uploaded_file($file_tmp,"$desired_dir/".$file_name); 
      }else{         // rename the file if another one exist 
       $new_dir="$desired_dir/".$file_name.time(); 
       rename($file_tmp,$new_dir) ;    
      } 
     mysql_query($query);   
     }else{ 
       print_r($errors); 
     } 
    } 
    if(empty($error)){ 
     echo"There has been an error.";} 

どうすればよいですか?

+0

こんにちは、スタックオーバーフロー歓迎のような新しいファイル名を作成します。この

$date = date("dmY"); $newfilename = round(microtime(true)) . '.' . end($temp); move_uploaded_file($_FILES["passport"]["tmp_name"], "$desired_dir/image_" . $date . "_" . $newfilename); 

を試してみてください。 の [stackoverflow.com/help/how-to-ask](https://stackoverflow.com/help/how-to-ask)]リンクを参照して、質問し、それに応じて質問を更新する方法の詳細を参照してください。 –

答えて

0
$length = 10; 
    $randomString = substr(str_shuffle("123456789abcdefijknopqrstuvwxyzABCHIJKOPQRSTUVWXYZ"), 0, $length); 

    $newfilename = "$variable-randomString"; 

    move_uploaded_file($file_tmp,"$desired_dir/".$newfilename); 
0

これはimage_09210313_32134144.jpg

関連する問題