Android MySql 使用 php 创建图像并将其上传到服务器


Android MySql Create and upload image to server with php

>我需要一些帮助才能将图像放在用户创建的"AD"上。我正在使用JSON,Android,PHP和MySql来做这件事。

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 接收图像并将其保存在服务器/数据库中,也请告诉我数据库字段的类型。

这非常重要,之后我需要将图像从我的 android 发送到此.php并将其保存在该用户身上。

谢谢,请注意我是安卓新手,所以勇敢:)

我不确定 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( 字段。