php - 如何在不提交表单的情况下从输入字段获取文件路径?

标签 php javascript html forms file-upload

我想让用户选择一个文件。路径位置应存储在 JavaScript 字符串中。稍后验证后,我想对服务器进行 ajax 调用,以使用 PHP 将文件上传到服务器。

我不想直接提交表单,因为页面会重新加载,并且会执行许多 SQL 查询,并且会给服务器带来不必要的负载。

    <input type="file" id="files" name="files[]" multiple />
    <output id="list"></output>

    <script>
      function handleFileSelect(evt) {
        var files = evt.target.files; // FileList object

        // files is a FileList of File objects. List some properties.
        var output = [];
        for (var i = 0, f; f = files[i]; i++) {
          alert(JSON.stringify(f));
          output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
                      f.size, ' bytes, last modified: ',
                      f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
                      '</li>');
        }
        document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
      }

      document.getElementById('files').addEventListener('change', handleFileSelect, false);
    </script>

此警报为我提供了详细信息,但没有提供我想要的路径。

有关获取路径的任何帮助,以便我可以使用 jquery 通过 ajax 传递字符串,并使用 move_uploaded_file 使用 php 上传文件。

提前致谢。

最佳答案

当用户做出选择时,您应该有一个值。只需找到一个地方存放它,然后将其拉回您需要的地方即可。如果您不想只是为了获取值而提交表单,则可以在继续实际表单之前包含一个选择/选项组合,从中获取值。没有选择=没有形式。选择=表单,但尚未提交。

关于php - 如何在不提交表单的情况下从输入字段获取文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17903184/

相关文章:

html - 无法将菜单上的文本对齐到右侧

php - Angularjs $http get 方法不发送任何参数

php - 如何在命令中将参数传递给 linux

html - 在绝对 div 下方的 ng-view 中定位 div

javascript - 全局关闭 Webpack 的延迟加载,没有魔法注释

javascript - 在 jquery 中使用多个 id

javascript - 2d html5 Canvas 碰撞,howto

php - 使用 .htaccess [自定义 URL] 进行页面重定向

php - 简单的php搜索代码不返回和结果

javascript - 如何在React中将登录按钮更改为注销按钮