2013-10-11 104 views
1

我需要一些幫助來將圖像放在用戶創建的「AD」上。我和JSON,Android的,PHP和MySQLAndroid MySql使用php創建並上傳圖像到服務器

add_ad.php

<?php 

//load and connect to MySQL database stuff 
require("config.inc.php"); 

if (!empty($_POST)) { 
    //initial query 
    $query = "INSERT INTO ads (ad_title, ad_price, ad_category, ad_description, ad_user, ad_contact) VALUES (:title, :price, :category, :description, :email, :mobile) "; 

    //Update query 
    $query_params = array(
     ':title' => $_POST['ad_title'], 
     ':price' => $_POST['ad_price'], 
     ':category' => $_POST['ad_category'], 
     ':description' => $_POST['ad_description'], 
     ':email' => $_POST['ad_user'], 
     ':mobile' => $_POST['ad_contact'] 
    ); 

    //execute query 
    try { 
     $stmt = $db->prepare($query); 
     $result = $stmt->execute($query_params); 
    } 
    catch (PDOException $ex) { 
     // For testing, you could use a die and message. 
     //die("Failed to run query: " . $ex->getMessage()); 

     //or just use this use this one: 
     $response["success"] = 0; 
     $response["message"] = "Erro base de dados. Impossível adicionar o anúncio."; 
     die(json_encode($response)); 
    } 

    $response["success"] = 1; 
    $response["message"] = "Anúncio criado com sucesso! Aguarde aprovação."; 
    echo json_encode($response); 

} ?> 

我不知道如何來改變這個接收來自機器人的圖像,並將其保存在服務器/數據庫上,請還告訴我數據庫上的字段的類型。

這是非常重要的,之後我需要從我的android發送圖像到這個.php並保存在該用戶。

謝謝,請注意,我在Android上新的,所以要勇敢:)

+0

有人請? – FilipeOS

回答

0

我不知道怎麼的Android將圖像發送到這個PHP腳本,但通常(通過網絡),它是通過使用$ _FILES服務器變量。您可以閱讀有關文件上傳的更多信息以及如何在此處使用它:http://www.w3schools.com/php/php_file_upload.asp

$allowedExts = array("gif", "jpeg", "jpg", "png"); 
$temp = explode(".", $_FILES["file"]["name"]); 
$extension = end($temp); 

if (($_FILES["file"]["size"] < 20000) && in_array($extension, $allowedExts)) { 

    if ($_FILES["file"]["error"] > 0) { 
     echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } else { 

     if (file_exists("upload/" . $_FILES["file"]["name"])) { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     } else { 
     move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); 
     // IMAGE UPLOAD SUCCESSFULL, UPDATE DATABASE ROW 


     } 
    } 
    } else { 
    echo "Invalid file"; 
    } 

將圖像上傳到服務器後,將文件名保存到數據庫中。如果您的文件名不會超過255個字符,則應在數據庫中爲此使用VARCHAR(255)字段。

+1

除了w3schools鏈接以外,還有一個很好的答案。你能否刪除[爲了人性](http://www.w3fools.com)? – tadman

+0

嗨,很抱歉,那是我需要知道的5%。 – FilipeOS

相關問題