将ASP.NET代码转换为PHP

时间:2012-07-25 01:03:53

标签: php asp.net asp.net-mvc

我正在阅读本教程。

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吗?

1 个答案:

答案 0 :(得分: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 snipplet中提供类似的基于php的if-else。您可以输出json_encoded数组的有效或良好。