php - 最简单的 ajax (jQuery) 版本,仅上传一个文件

标签 php javascript jquery ajax

我只希望用户选择一个文件,它会自动将其下载到我的服务器。我不需要更多的功能。最简单、最可靠(也许你用过它?)的插件是什么?尝试过https://github.com/valums/file-uploader ,但无法让它工作。

最佳答案

来自网页,例如:upload.html

<html>
<head>
<script type="text/javascript">
    function uploadFile(){
        var xmlhttp;
        if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
        else
        {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        var formElement = document.getElementById("upload");
        var formData= new FormData(formElement);
        xmlhttp.open("post","upload.php",false);
        xmlhttp.send(formData);
        var counter = 0;
        while (xmlhttp.readyState != 4){
            counter = counter + 1;
        }
        var errorCondition =  xmlhttp.responseText;
        if(errorCondition == "success"){
            alert("File uploaded successfully");
        }
        else{
            alert("Error: "+errorCondition);
        }
    }
</script>

</head>
<body>

<form id="upload" action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="button" name="submit" value="Submit" onclick="uploadFile();" />
</form>

</body>
</html> 

调用 php,如下所示:upload..php

<?php
if ($_FILES["file"]["error"] > 0)
    {
    echo ($_FILES["file"]["error"]);
    }
else
    {
    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "success";
      }
    }
?> 

关于php - 最简单的 ajax (jQuery) 版本,仅上传一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8454707/

相关文章:

php - 从 MySql 在 php 中创建 GeoJson 以与 MapBox javascript API 一起使用

javascript - 页面中有两个以上的脚本,当第一个为 false 时停止执行第二个脚本

javascript - 从 iframe 打开的弹出窗口重新加载 iframe

适用于 Android/Iphone 的 PHP 后端 - 特殊字符问题

一个 mysql_query() 查询中的 PHP 多个 MYSQL 命令

php - 在 Mysql 中通过 PHP 和 BLOB 动态图像

java - 如何在选择同一 div 中存在的下拉列表时在 div 末尾附加动态生成的 HTML 表格?

Javascript正则表达式所有字符直到单词

javascript - 如何在 JavaScript 中将数字格式化为百分比值?

javascript - 调用具有节点列表特定索引值的函数