【问题标题】:Upload a file Using PHP and JavaScript使用 PHP 和 JavaScript 上传文件
【发布时间】:2013-09-12 22:44:25
【问题描述】:

我选择了一张图片:

<input type="file" id="pimg" name="pimg" accept='image/*'/>  

我的 javascript 代码:

p_img =document.getElementById("pimg").value;  
param= 'pn='+p_img;  
xmlhttp.open("GET","add_prod.php?"+param,false);  
xmlhttp.send();  

我的php代码:

p_img=$_GET['img'];
$con = mysqli_connect('localhost', 'admin', 'admin', 'products');
$sql="INSERT INTO prod (img) VALUES ('$p_img')";
if (!mysqli_query($con,$sql))
{
    die('Error: ' . mysqli_error($con));
}  

这将只存储文件的名称。但我想将文件从电脑复制到目录。有必要使用 Javascript,因为我正在使用完整的添加产品来使用 AJAX 传递值

【问题讨论】:

  • 这只会像你说的那样保存文件名。您尚未将文件上传到服务器上的目录中。您可以查看w3schools.com/php/php_file_upload.asp 这是一个教程 - 如何使用 javascript 和 php 上传文件。除非您想将文件存储到您的数据库中。
  • 你无法通过javascript访问电脑上的文件,你可以看看用上传图片的小表单创建一个iframe。
  • GET 不适用于POSTing 图片。
  • 你想把文件上传到某个目录吗!如果是,请使用一些 php 代码上传。如果你想使用 ajax,那么 jquery 中有很多可用的插件

标签: php javascript mysql


【解决方案1】:

创建 index.html 文件

<!DOCTYPE html>
<html>
<body>
    <form 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="submit" name="submit" value="Submit">
    </form>
</body>
</html>

创建php文件upload_file.php

<?php

if ($_FILES["file"]["error"] > 0) {
    echo "Error: " . $_FILES["file"]["error"] . "<br>";
} else {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
}

?>

【讨论】:

    【解决方案2】:
    xmlhttp.open("GET","add_prod.php?"+param,false);  
    

    我认为 open 方法的参数必须包含 true。

    【讨论】:

      【解决方案3】:

      您可以使用简单的 JavaScript 和 PHP 上传文件而无需刷新页面。使用 JavaScript 将文件传递给 PHP 文件,并使用 move_uploaded_file() 函数将文件上传到服务器。

      现场演示和源代码可以从这里找到 - Upload file using JavaScript and PHP

      【讨论】:

        【解决方案4】:

        使用POST(表单)将数据发送到php文件。

        使用 $_FILES["pimg"]["tmp_name"] 您可以将上传的文件(使用 php 函数 move_uploaded_file 移动到您的网络服务器。

        链接到 PHP 函数 http://php.net/manual/de/function.move-uploaded-file.php

        【讨论】:

          猜你喜欢
          • 2013-07-07
          • 2011-11-20
          • 2014-05-08
          • 2016-04-05
          • 2014-10-02
          • 2016-03-31
          • 2013-12-28
          • 2017-12-12
          • 2014-05-02
          相关资源
          最近更新 更多