-2

次のコードを使用して、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 をブラウザーに配置する と、最新の画像が表示され、その後、最新の画像の受信が開始されます。

4

2 に答える 2