2011-09-25 82 views
0

在過去的幾個星期裏,我問了幾個關於這個問題的問題。看起來好像我試圖解決這個問題越困難,越遠離我看來的解決方案。這可能只是我是一個傻瓜真的很困惑ajax圖片上傳

的功能下面是我到目前爲止學到了簡要總結:)

一個實在是沒有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

回答

0

在您提到的tutorial中,您可能會迷失在鏈接中,因爲停止使用的組件會被維護。無論如何,你找到項目here。你想要的是該項目的根文件夾中的文件ajaxupload.js