-2

私はこのチュートリアルを読んでいました。

http://ben.onfabrik.com/posts/pagedown-markdown-editor-custom-image-dialog

最後に ASP.NET コードがあります

[HttpPost]
public ActionResult EditorUpload(MediaEditorUploadModel model)
{           
    string result;
    var serializer = new JavaScriptSerializer();

    if (model.File.IsValidFile() && model.File.IsImage()) {
        // upload the file

        result = serializer.Serialize(
            new { success = true, imagePath = "http://{the url of the uploaded image}"});
    } else {
        result = serializer.Serialize(
            new { success = false, message = "Invalid image file"});
    }

    return Content(result); // IMPORTANT to return as HTML
}

しかし、PHPでどのように応答する必要があるのか​​ わかりません。このコードを PHP に変換するのを手伝ってくれる人はいますか?

4

1 に答える 1

1

まず、ASP.NET をよく知っているふりをするつもりはありません。それで、あなたが提供したコードを一目見ただけで。それは実際には一種の言語である可能性があるように見えますが、少なくとも特定のスクリプト タイプに偏っているようには見えません。私にはオブジェクト指向のコードのように見えます。しかし、それはミュートポイントです。

全体として、コードが行っているように見えるのは、別のクラスをインスタンス化することです。これは、むしろ見たいコードの大部分であると思います。しかし、この小さな切り取りから、クラスを使用してファイルが見つかったかどうかを検証し、この場合は実際に画像です。存在する場合は、サーバー上の場所に基づいて URL を指定します。そうでない場合は、エラーを出します。また、JSON 形式で出力しているように見えるため、JavaScript がそれを取得して使用できます (例: AJAX 要求)。

とは言っても、ファイルがサーバー上にあるかどうかを確認する PHP 経由の手段があります http://php.net/manual/en/function.file-exists.php

次に、実行している PHP のバージョンに応じて、 http://php.net/manual/en/function.finfo-file.php (新しい php バージョンの場合) または http://php.net/manual/en/を使用できます。 function.mime-content-type.php (古い php バージョン)

ファイルタイプを取得するには、ASP スニプレットで提供したものに基づいて、php で同様の if-else を実行します。有効または有効な json_encoded 配列を出力します。

于 2012-07-25T01:54:02.967 に答える