2013-10-11 103 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

相关问题