php - 使用 AngularJS 和 PHP 将图像上传到服务器路径

标签 php angularjs image upload

正如问题所提到的,我有一个关于如何将图像上传到服务器的问题。我在互联网上搜索并找到了一些引用资料,但我仍然不明白它们是如何工作的。例如:AngularJS Image upload using php

图片如何上传?因为那里没有提交按钮。我按照那里的代码尝试了,仍然无法上传文件。

我还尝试从这里查看一些可用的模块:File Upload using AngularJS 看了几个小时后,我仍然不明白如何使用它们。有没有更简单或更容易理解的指南可供我遵循?提前致谢。

编辑:如果有更简单的示例,例如仅上传一个文件,请链接我到它,因为有很多非常先进的示例,其中包含许多部分,例如上传多个文件等。

最佳答案

试试这个 html

<div type="file" ngf-drop ng-model="files" class="container drop-box text-center" 
ngf-drag-over-class="dragover" ngf-multiple="true" ngf-allow-dir="true"
ngf-accept="'.jpg,.png'"><input type="hidden" name="image_id" >Drop Images here</div>

在你的 Controller 中尝试这个

controller: function($scope,$http,$timeout,Upload) {

        $scope.$watch('files', function () {
             $scope.upload($scope.files);
        });

        $scope.upload = function (files) {
            if (files && files.length) {
                for (var i = 0; i < files.length; i++) {
                    var file = files[i];
                    Upload.upload({
                        url: 'php/upload.php', 
                        headers: {'Content-Type': file.type},
                        method: 'POST',
                        data: file,
                        file: file, 
                    }).progress(function (evt) {
                        var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
                        console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
                    }).success(function (data, status, headers, config) {
                        console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
                        $scope.image_submit = function() {
            $http.post('php/slider.php?action=add_image', 
            {
            'img_name' : config.file.name, 
            'img_src' : '../images/' + config.file.name
            }
            )
            .success(function (data, status, headers, config) {
            $scope.get_image();
            })

            .error(function(data, status, headers, config){

            });
            };
            $scope.image_submit();
                    });
                }
            }
        };

这在你的 php 文件中

<?php

$filename = $_FILES['file']['name'];
$destination = '../images/' . $filename;
move_uploaded_file( $_FILES['file']['tmp_name'] , $destination );

?>

您还需要创建一个数据库连接并创建 2 个 php 函数,一个用于从数据库中获取图像,一个用于创建图像,一个在 Controller 中获取图像。添加图像的函数我已经给出了它在 Controller 中给你。

关于php - 使用 AngularJS 和 PHP 将图像上传到服务器路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28010178/

相关文章:

css - 我怎样才能删除我的 ucoz 网站的背景图片?

php - MySQLi LEFT JOIN 查询抛出语法错误

php - 将 PHP 连接到 MariaDB 数据库时出错

php - 将带有 URL 的域重定向到带有 URL 的子域

angularjs - 在 Angular Js 中拉动刷新

AngularJS AppCtrl 等待 HTTP 事件成功

android - 保护 Sails API

php - WordPress 中的 mySQL 查询

html - 与图像外的左上角对齐的旋转文本?

vba - 使用路径从外部源将图像添加到表单中