2013-11-26 11 views
1

Мне нужно загрузить один и тот же файл несколько раз для каждого выбранного пользователя.Загрузите тот же файл несколько раз

Например, если вы выбрали 3 пользователя, загруженный файл необходимо перенести в папку пользователя.

МОЙ КОД:

$subDir = $_POST['curr_user']; 
    $usuarios = explode(',', $subDir); 

    if (count($usuarios) > 1) { 
     foreach ($usuarios as $usuario) { 
       $usFolder = file_exists ($upload_dir['basedir'].'/file_uploads/'.$usuario); 

       if (!$usFolder) { 
        mkdir ($upload_dir['basedir'].'/file_uploads/'. $usuario, 0777 , true); 
        chmod($upload_dir['basedir'].'/file_uploads/'. $usuario,0777); 
       } 


       $target_path = $upload_dir['basedir'].'/file_uploads/'; 

       $target_path = $target_path . basename($_FILES['uploadedfile']['name']); 


       if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { 

        $wpdb->insert($wpdb->prefix . "userfile_data", array('id'=> '','user_id'=>$usuario,'category'=>$_POST['curr_cat'],'filename'=>basename($_FILES['uploadedfile']['name']))); 


       } 

     } 
    } 

Кто-то может мне помочь?

+2

Не перемещайте файл. перемещая его по необходимости. УДАЛЯЕТ его с исходного места, поэтому он не будет доступен для следующего пользователя, которого вы обрабатываете. ** COPY ** вместо этого, затем вручную удалите его, как только все пользователи будут обработаны. –

ответ

2

Проблема в том, что вы пытаетесь «переместить» ее много раз.

К сожалению, нет «copy_uploaded_file», так что вместо этого вы можете:

  • Переместить загруженный файл во временную директорию первого
  • Затем в COPY петлевой этот файл в целевых каталогов для каждого пользователя.
  • После завершения очистки очистите исходный файл.
Смежные вопросы