簡體   English   中英

使用ajax調用和php文件在服務器中上傳圖像

[英]image upload in server using ajax call and php file

我有一個輸入文件...我想將附件上傳到服務器,並且單擊“上傳”按鈕時,消息上傳成功...文件未發送消息。 (上載的圖像必須保存在上載文件夾中。)

index.html


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Camera </title>
        <link rel="stylesheet" href="sample.css" type="text/css" media="screen">
    </head>
    <body>
           <form id="form" method="post" enctype="multipart/form-data">
           <div style="margin-top:3rem;margin-left: 30%;">
                    <input type="file" name="file1" id="take-picture" accept="image/*" >
               </div>              
                <div style="margin-top: 2rem; margin-left: 10%;">
                    <img src="about:blank" alt="" id="show-picture" height="50%" width="50%">

                </div>
           <div style="margin-top: 3rem;margin-left: 30%;">

              <button id="upload">Upload</button>
              </div>

</form>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script src="sample.js"></script>


    </body>
</html>




sample.js

$(function() {
    $('#form').submit(function(e) {
        e.preventDefault();
        data = new FormData($('#form')[0]);
        console.log('Submitting');
        alert(data);
        $.ajax({
            type: 'POST',
            url: 'upload.php',
            data: data,
            cache: false,
            contentType: false,
            processData: false
        }).done(function(data) {
            console.log(data);

            alert(data);

        }).fail(function(jqXHR,status, errorThrown) {
            console.log(errorThrown);
            console.log(jqXHR.responseText);
            console.log(jqXHR.status);
        });
    });
});



upload.php

<?php
if($_FILES['img']['error'] > 0) die('Error ' . $_FILES['file']['error']);
if(empty($_FILES['img']['name'])) die('No file sent.');

$tmp = $_FILES['img']['tmp_name'];

if(is_uploaded_file($tmp))
{
    if(!move_uploaded_file($tmp, '/uploads/')) echo 'error !';

}
else echo 'Upload failed !';
?>


folder---- uploads (where images have to be saved)`enter code here`

PHP中的$ _FILES鍵與表單上的輸入文件不匹配...首先使內容匹配...如果您的HTML

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

然后在PHP上

$_FILES['file1']['error']...
$_FILES['file1']['name']...

除了...

您是否檢查了要存儲文件的文件夾的權限?

遠程用戶可以寫入/ uploads /嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM