简体   繁体   English

使用 PHP 和 JavaScript 上传文件

[英]Upload a file Using PHP and JavaScript

I selected a image using:我使用以下方法选择了一个图像:

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

My javascript code:我的javascript代码:

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

My php code:我的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));
}  

This will store only the name of the file.这将仅存储文件的名称。 But i want to copy the file from pc to directory.但我想将文件从 pc 复制到目录。 Its necessary to use Javascript as I'm using complete add product to pass values using AJAX使用 Javascript 是必要的,因为我正在使用完整的添加产品来使用 AJAX 传递值

Create index.html file创建 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>

Create Php file upload_file.php创建 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"];
}

?>

Use POST (form) to send data to the php file.使用POST (表单)将数据发送到 php 文件。

With $_FILES["pimg"]["tmp_name"] you can move the uploaded file (with the php function move_uploaded_file to you webserver.使用 $_FILES["pimg"]["tmp_name"] 您可以移动上传的文件(使用 php 函数move_uploaded_file到您的网络服务器。

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

You can upload the file without page refresh using simple JavaScript and PHP.您可以使用简单的 JavaScript 和 PHP 上传文件而无需刷新页面。 Using JavaScript, the file would be passed to the PHP file and using move_uploaded_file() function file would be uploaded to the server.使用 JavaScript,文件将被传递到 PHP 文件,并使用move_uploaded_file()函数将文件上传到服务器。

The live demo and source code would found from here - Upload file using JavaScript and PHP现场演示和源代码可以从这里找到 -使用 JavaScript 和 PHP 上传文件

xmlhttp.open("GET","add_prod.php?"+param,false);  

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM