【问题标题】:Really Confused about ajax image upload真的对ajax图片上传感到困惑
【发布时间】:2011-09-25 19:18:57
【问题描述】:

在过去的几周里,我就这个主题提出了几个问题。似乎我越想弄清楚这一点,我似乎离解决方案就越远。这可能只是我是个白痴的原因

以下是我目前所学知识的简要总结:

A) 实际上没有 AJAX 上传功能。您实际上只是在更新 Ipage 表单元素。它看起来像 AJAX,但实际上不是。

B) valumns 没有 AjaxUpload 插件。至少没有这样命名。在查看了几个关于 ajax 上传的教程之后,每个教程都引用了 AjaxUpload.js 插件并获得了绝对的 bubkis,因为在他的页面上,它没有命名为 AjaxUpload.js,它是其他名称。如果它甚至在那里。我不想经历重命名的麻烦,只是想看看会发生什么,因为这通常会导致丑陋的错误狂欢。

C) 很多解决方案似乎都使​​用了 CAKE。不太确定那到底是什么,但它看起来像是某种基于流行的 MVC 设计模式的 PHP 设计模式。不过不太确定。

D) 这似乎是一项非常艰巨的任务。不需要几行代码和祈祷。
D1) PHP 代码看起来很简单。只需调用移动文件的函数... D2) jquery 似乎有点棘手。这是您调用上述 php 函数的地方。当我在上传的文本框内单击时,我想调用它...一个简单的

    $('form#inputId').change(function (){//insert the code to call php function here});

应该这样做吗?诀窍是我在那些大括号内写了什么?

这将是我对该主题的理解的总和......这就是我所拥有的......

    <?php
    $link = mysql_connect('greetmeet.ipagemysql.com', 'greetmeet', 'Maverick$41'); 
    mysql_select_db(first_1) or die("Opps, You are pretty Got-Damned Stupid!  Did you     realize that?!?!?");
    $target = './Uploads/'; 
    $target = $target . basename( $_FILES['uploaded']['name']) ; 
    $ok=1; 

    $path = "uploads/";
    $Email = $_SESSION['user_email']; //This should be a session ID.  Must talk this over with Fellow Coder That Nigga, LJeezy West...
    $valid_formats = array("jpg", "png", "gif", "bmp","jpeg");

    if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
    {
        $name = $_FILES['photoimg']['name'];
        $size = $_FILES['photoimg']['size'];
        if(strlen($name))
        {
            list($txt, $ext) = explode(".", $name);
            if(in_array($ext,$valid_formats))
            {  
                if($size<(1024*1024)) // Image size max 1 MB
                {
                    $actual_image_name = time().$session_id.".".$ext;
                    $tmp = $_FILES['photoimg']['tmp_name'];
                    if(move_uploaded_file($tmp, $path.$actual_image_name))
                    {
                        mysql_query("UPDATE user_pics SET    profile_pic='$actual_image_name' WHERE Email='$Email'");
                        echo "<img src='uploads/".$actual_image_name."'         class='preview'>";
                    }
                    else
                        echo "failed";
                }
                else
                    echo "Image file size max 1 MB";
                }
            else
                echo "Invalid file format..";
            }
        else
            echo "Please select image..!";
        exit;
    }
    ?>

这就是我要调用的 php 函数,它将文件移动到我的服务器,然后将链接放入数据库中。

我的再次,我的 jquery 代码非常混乱,而且可能全都错了。我只是不知道在那里做什么。我现在只想要一些非常简单的东西。没什么特别的,只需上传带有预览的照片,然后提交完成所有内容。无论如何,我可以通过将图片直接放入 mysql btw 来做到这一点吗?

另外, 这个教程似乎很有用... http://www.akchauhan.com/upload-image-using-hidden-iframe/ 但是真的很难理解……

这是一个使用 AjaxUpload 的插件示例... AjaxUpload.js 文件在哪里? http://www.zurb.com/playground/ajax_upload

【问题讨论】:

    标签: php jquery image-upload


    【解决方案1】:

    我建议使用插件“ajaxfileupload.js”。 这很容易使用。 请查看以下链接以获取其说明并下载: http://www.phpletter.com/Our-Projects/AjaxFileUpload/

    注意:这里没有使用任何闪光灯。这就是它的好处。

    【讨论】:

      【解决方案2】:

      在您提到的tutorial 中,您可能会迷失在链接中,因为使用的组件已停止维护。不管怎样,你找到了项目here。你要的是项目根目录下的ajaxupload.js文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-16
        • 1970-01-01
        • 2011-08-01
        • 1970-01-01
        • 2022-06-13
        • 1970-01-01
        • 2016-02-09
        相关资源
        最近更新 更多