2016-09-22 3 views
0

Я перед проблемой на загрузках файлов это мой код для нескольких файлов с дополнительным полем ввода, чтобы упомянуть имя клиентаПереместить файл загрузка не работает в PHP

 $titles=$_REQUEST['doc_title']; 
     $tmp_names=$_FILES['filename']['tmp_name']; 
     $requestid=$_REQUEST['Reqno']; 
     //echo $_SERVER['HTTP_HOST']; 
     //echo $_SERVER['REQUEST_URI']; die; 
     $url= 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
     $upload_dir=str_replace('/index.php','/',$url); 
     $time = time(); 
     $arraData=array(); 
     $filearray=array(); 
     foreach($_FILES['filename']['name'] as $key=>$value){ 
     $arraData[$key]['doc_title']=$titles[$key]; 
     $arraData[$key]['file_name']=$time.$value; 
     $arraData[$key]['tmp_name']=$tmp_names[$key]; 
     $arraData[$key]['req_id']=$requestid; 
     $pathAndName = $upload_dir."temp/Moredocument/" . $time.$value; 
     $move_files=move_uploaded_file($tmp_names[$key], $pathAndName); 
     } 

У меня есть несколько файлов для загрузки, так что я использовать Еогеасп , это $ _FILES Выходная для два изображения загрузить

Array 
    (
     [filename] => Array 
     (
     [name] => Array 
      (
       [0] => 1472470251_example_001.pdf 
       [1] => 1472462805_example_001.pdf 
      ) 

     [type] => Array 
      (
       [0] => application/pdf 
       [1] => application/pdf 
      ) 

     [tmp_name] => Array 
      (
       [0] => /tmp/phpD3tfnC 
       [1] => /tmp/php6w0V8W 
      ) 

     [error] => Array 
      (
       [0] => 0 
       [1] => 0 
      ) 

     [size] => Array 
      (
       [0] => 53915 
       [1] => 53915 
      ) 

    ) 

    ) 

, пожалуйста, помогите, где моя ошибка.

+0

использовать относительный путь к файлу вместо абсолютного пути. –

ответ

0

Что ваш URL для текущего файла и что вы пытаетесь сделать с помощью

$arraData[$key]['doc_title']=$titles[$key]; 
$arraData[$key]['file_name']=$time.$value; 
$arraData[$key]['tmp_name']=$tmp_names[$key]; 
$arraData[$key]['req_id']=$requestid; 
$pathAndName = $upload_dir."temp/Moredocument/" . $time.$value; 
move_uploaded_file($tmp_names[$key], $pathAndName); 

?

+0

закачайте файл, что вы думаете – phpdev

+0

Зачем хранить tmp dir в $ arraData? –

2

Для загрузки файла нам необходимо передать абсолютный URL-адрес файла.

Здесь вы использовали

$url= 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
$upload_dir=str_replace('/index.php','/',$url);  

Это даст вам http:// URL, так что вы не можете переместить файл.

$titles=$_REQUEST['doc_title']; 
$tmp_names=$_FILES['filename']['tmp_name']; 
$requestid=$_REQUEST['Reqno']; 

//This is the roor url you can use __DIR__ or dirname(__FILE__) 
$upload_dir= '/'; 

$time = time(); 
$arraData=array(); 
$filearray=array(); 
foreach($_FILES['filename']['name'] as $key=>$value) { 

    $arraData[$key]['doc_title']=$titles[$key]; 
    $arraData[$key]['file_name']=$time.$value; 
    $arraData[$key]['tmp_name']=$tmp_names[$key]; 
    $arraData[$key]['req_id']=$requestid; 

    //Make sure you have created this all directories 
    $pathAndName = $upload_dir."temp/Moredocument/" . $time.$value; 
    $move_files=move_uploaded_file($tmp_names[$key], $pathAndName); 
} 
Смежные вопросы