jsonを介してphpファイルに画像エンコードされたデータを取得しています。私の要件は、各画像に一意の名前を割り当てる必要がある場合、その画像をサーバーの 1 つのフォルダーに保存することです。画像を一意の名前のフォルダーに保存する方法について多くの疑問が生じており、画像のパスがデータベースに保存されています。私はいくつかの StackOverflow の質問とオンライン ソースを見てきましたが、それらを明確に理解できませんでした。この質問は、PHP を扱っている人にとっては簡単に思えます。しかし、PHP の初心者として、また Android 開発者として、私はあまり詳細でない回答を理解することができません。ですから、誰かがコードスニペットと説明を手伝ってくれたら本当にありがたいです. 質問とコードの説明をコメント付きでできる限り明確に保つようにしました。間違いがあれば、お手柔らかにお願いします。以下は、私が試してみて、いくつかの点で動かなくなったコードです。前もって感謝します..
<?php
$response = array();
// check for required fields
if (isset($_POST['mailid']) && isset($_POST['category']) && isset($_POST['description']) && isset($_POST['contactNum']) && isset($_POST['lookingto']) && isset($_POST['image'])) {
$usermail = $_POST['mailid'];
$category = $_POST['category'];
$description = $_POST['description'];
$contactNum = $_POST['contactNum'];
$lookingto = $_POST['lookingto'];
$base=$_POST['image'];
$binary=base64_decode($base);
$folder = "images/"; // This is my folder "images" in which pics have to be stored.
$file = fopen('storepic.jpg', 'wb'); // Here I have to give name dynamically to each pic provided that should be unique. Here I mentioned pic name as storepic.jpg, a static name.
fwrite($file, $binary);
fclose($file);
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// mysql inserting a new row
$result = mysql_query("INSERT INTO details(usermail, category, description, contactnumber,posting_for) VALUES('$usermail', '$category', '$description','$contactNum','$lookingto')");
//// Even after giving dynamic name how can we store the path of the dynamic named image into database in the above query. For that what should be done here..
// check if row inserted or not
if ($result) {
// successfully inserted into database
$response["success"] = 1;
// echoing JSON response
echo json_encode($response);
} else {
// failed to insert row
$response["success"] = 0;
// echoing JSON response
echo json_encode($response);
}
} else {
$response["success"] = 0;
// echoing JSON response
echo json_encode($response);
}
?>
他のphpファイルでも、selectクエリでデータを取得しています。挿入した通常のデータを Android クライアント側アプリで取得できます。しかし、後でbase64でエンコードされたデータに変換し、json応答としてエコーするためにパスから画像を取得する方法..
注:-私の UI はフォームではありません。Android UI です。