Android MySql使用php创建并上传图像到服务器
问题描述:
我需要一些帮助来将图像放在用户创建的“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上新的,所以要勇敢:)
答
我不知道怎么的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)字段。
有人请? – FilipeOS