2012-07-25 101 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數組來獲得有效或好的結果。