将文件上传到特定路由不起作用


upload a file to the specific route doesn't work

我试图创建一个表单来上传文件,但是当我上传文件时,没有出现在特定的路由中。 我使用 chmod 向上传文件的文件夹授予了权限。请帮忙。

JAVASCRIPT

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="jquery-1.9.1.min.js"></script>
        <script src="jquery-ui.js"></script>
    </head>
    <body>
        <div id="subir">
            <input id="archivos" type="file" name="archivos[]" multiple="multiple" onchange="seleccionado();" />
        </div>
        <div id="cargados">
        </div>
    </body>
    <script>
        function seleccionado(){
             var archivos = document.getElementById("archivos");
             var archivo = archivos.files; 
             var data = new FormData();
             for(i=0; i<archivo.length; i++){
                 data.append('archivo'+i,archivo[i]);
             }
             $.ajax({
                 url:'subir.php', 
                 type:'POST', 
                 contentType:false, 
                 data:data, 
                 processData:false, 
                 cache:false 
             }).done(function(msg){
                  $("#cargados").append(msg); 
             });
        }
    </script>    

.PHP

<?php
  $ruta='/var/www/imgSube/';
  foreach ($_FILES as $key) {
    if($key['error'] == UPLOAD_ERR_OK ){
      $nombre = $key['name'];
      $temporal = $key['tmp_name']; 
      $tamano= ($key['size'] / 1000)."Kb"; 
      move_uploaded_file($temporal, $ruta . $nombre); 
      echo "
        <div id='subido'>
        <h12><strong>Nombre del archivo: $nombre</strong></h2><br />
        <h12><strong>Tamaño del archivo: $tamano</strong></h2><br />
        <hr>
        </div>
      ";
    }else{
      echo $key['error']; 
    }
  }
?>

使用 FF 24.0 进行测试

您的代码有效并已签出。我在自己的机器上测试了它,问题可能是您的路径设置方式。

而不是像$ruta='/var/www/imgSube/';那样使用绝对路径

尝试使用相对路径,这会影响从服务器根目录运行脚本时$ruta='imgSube/';,这就是我所做的。

如果从子文件夹内运行脚本,则路径将如下所示:

$ruta='../../imgSube/';

还要确保您的文件夹确实被调用imgSube,而不是使用小写imgsube s

在Linux盒子上,这将有所作为。

为了记录,我使用了jquery-1.10.2.js但我怀疑这会有所作为。

注意/编辑:这不适用于IE 7