次のコードを使用して、Web サーバーに画像を保存しています。
function SavePic()
{
$allowedExts = array("jpeg", "jpg");
$temp = explode(".", $_FILES["UserPic"]["name"]);
$extension = end($temp);
if ((($_FILES["UserPic"]["type"] == "image/jpeg")
|| ($_FILES["UserPic"]["type"] == "image/jpg"))
//&& ($_FILES["UserPic"]["size"] < 2097152)
&& in_array($extension, $allowedExts))
{
if ($_FILES["UserPic"]["error"] > 0)
{
echo json_encode("Error: ".$_FILES["UserPic"]["error"]);
}
else
{
$folder = "/home5/username/public_html/Project/Users/Images/";
echo move_uploaded_file($_FILES["UserPic"]["tmp_name"],$folder.$_REQUEST["email"].".".$extension);
}
}
else
{
echo json_encode("Invalid file");
}
}
画像を取得するための次のコード:
function RetrievePic()
{
$handle = fopen('php://input','r');
$jsonInput = fgets($handle);
// Decoding JSON into an Array
$retrieveParameters = json_decode($jsonInput,true);
$UserPic = array("UserPic" => "http://www.mysite.com/Project/Users/Images/".$retrieveParameters['email']."."."jpg");
echo json_encode($UserPic);
}
たとえば、私の電子メールが abc@xyz.com の場合、画像は「abc@xyz.com.jpg」として保存されます。問題は、古いイメージを新しいイメージに置き換えるためにイメージを上書きしようとすると、サーバーが毎回古いイメージを返すことです。
更新: http://www.mysite.com/Project/Users/Images/abc@xyz.com.jpgなどの URL をブラウザーに配置する と、最新の画像が表示され、その後、最新の画像の受信が開始されます。