Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 还有一个jqueryajax文件上传问题_Php_Jquery_Ajax_Jquery File Upload - Fatal编程技术网

Php 还有一个jqueryajax文件上传问题

Php 还有一个jqueryajax文件上传问题,php,jquery,ajax,jquery-file-upload,Php,Jquery,Ajax,Jquery File Upload,这可能是转载,因为我可能在stackoverflow中搜索得不够深入,尽管我找到的一些帖子对我帮助不够。所以我试着做一件简单的事情——使用ajax上传图像。我得到了这个HTML: <form class="form-inline" id="navigationLinkCreationForm" > <input type="text" class="form-control" placeholder="Nuorodos pavadinimas" id="linkName

这可能是转载,因为我可能在stackoverflow中搜索得不够深入,尽管我找到的一些帖子对我帮助不够。所以我试着做一件简单的事情——使用ajax上传图像。我得到了这个HTML:

<form class="form-inline" id="navigationLinkCreationForm" >
    <input type="text" class="form-control" placeholder="Nuorodos pavadinimas" id="linkName" />
    <label class="btn btn-default btn-file">
        Įkelti ikoną(1:1)<input id="selectNavigationIcon" name="navigationIcon" type="file" style="display: none;">
    </label>
    <input type="submit" class="btn btn-success" id="createLinkButton" value="Sukurti nuorodą" />
</form>
最后,我得到了一个简单的uploadNavigationIcon.php文件,如果提交了文件,它只输出“S”

<?php
    if(isset($_GET['files']))
    {
        echo "S";
    }

试试这个,这是一个经过测试的工作代码:

$(document).ready(function(){
    $('#upload').on('click', function() {
        var file_data = $('#pic').prop('files')[0];
        var form_data = new FormData();
        form_data.append('file', file_data);

        $.ajax({
                url         : 'upload.php',     // point to server-side PHP script 
                dataType    : 'text',           // what to expect back from the PHP script, if anything
                cache       : false,
                contentType : false,
                processData : false,
                data        : form_data,                         
                type        : 'post',
                success     : function(output){
                    alert(output);              // display response from the PHP script, if any
                }
         });
         $('#pic').val('');                     /* Clear the file container */
    });
});
upload.php

<?php
    if ( $_FILES['file']['error'] > 0 ){    // file data can't be fetched by using $_GET
        echo 'Error: ' . $_FILES['file']['error'] . '<br>';
    }
    else {
        if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']))
        {
            echo "File Uploaded Successfully";
        }
    }

?>

您将永远无法获得带有$\u get变量的文件。文件上传有自己的方式。打印$u文件。在这里阅读文件上传文档是的,我很愚蠢试图从$\u get获得东西。。。这就是问题所在,谢谢你,巴德!现在开始工作:)接受你的答案是3分钟。这只是一个思维失误,每个人都会发生。听起来不错,你的问题已经解决了:)享受编码吧
<?php
    if ( $_FILES['file']['error'] > 0 ){    // file data can't be fetched by using $_GET
        echo 'Error: ' . $_FILES['file']['error'] . '<br>';
    }
    else {
        if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']))
        {
            echo "File Uploaded Successfully";
        }
    }

?>