2012-07-25 106 views
-2

我正在阅读本教程。将ASP.NET代码转换为PHP

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

+3

无论如何应该对这个问题如何改进或者反对的理由留下评论。 – HeatfanJohn 2012-07-25 01:13:14

+0

我没有downvote(但我投票结束,但是)。大多数人没有解释他们失望的原因是因为有很多人憎恶被低估,并立即降低了低估他们问题的人 - 青少年的行为使人们不愿意解释他们的低估。 (我自己曾多次发生过这种情况。)我投票结束,因为问题显示在发布之前绝对没有尝试找出它,而这不是代码翻译服务。我们很乐意提供帮助,但我们希望首先从问题海报中获得至少一些努力。 – 2012-07-25 01:58:45

回答

1

首先,我不会试图假装我很熟悉ASP.NET。因此,基于我对您提供的代码的看法。它实际上看起来可能是语言的类型,在我看来对于任何给定的脚本类型来说都不是至少是古怪的。看起来像面向对象的代码给我。但这是一个隐藏点。

总的来说,代码似乎在做的是,实例化另一个类,我将假设它是您希望看到的大部分代码。但是从这个小剪辑中,它使用类来验证文件是否被找到,并且在这种情况下确实是一个图像。如果是,则根据其在服务器上的位置提供一个URL。如果没有给出错误。它也显示出它以JSON格式输出,所以一个JavaScript可以提取并使用它,例如AJAX请求。

这就是说,有通过PHP的手段来验证,如果该文件是您的服务器上依赖于PHP的是什么版本的运行,你可以使用 http://php.net/manual/en/function.finfo-file.php(是否有更新的PHP版本) 或 http://php.net/manual/en/function.file-exists.php

然后 http://php.net/manual/en/function.mime-content-type.php(较旧的php版本)

获得文件类型,在那里你会做一个类似的if-else与基于php的那些,你在ASP snipplet中提供的。你会输出一个json_encoded数组来获得有效或好的结果。