2

これは現在の PHP です。Coldfusion への変換を開始する方法がわかりません。これを私のcoldfusionサーバーに投稿する必要があります。

<?php
/**
 * Saves POST input as an XML file and returns a JSON response
 */

$xmlString;

if (isset($_POST['xmlString'])){
$filename  = $_POST['xmlFilename'];
$xmlString = stripslashes($_POST['xmlString']);

$newFile = "_data/".$filename.".edit.xml";

//write new data to the file, along with the old data 
$handle = fopen("../".$newFile, "w"); 
if (fwrite($handle, $xmlString) === false) { 
    echo "{error:\"Couldn't write to file.\"}";  
} 
else {
    //echo "{filename:\"".$newFile."\"}";
    echo "success:::$newFile:::$xmlString";
}
    fclose($handle);    
}
?>
`
4

1 に答える 1

7

PHP はよくわかりませんが、推論はできますし、Google もできます。私が何か間違っている場合は、誰かが私を修正してください。

  • isset() : 直接の類推ではありませんが、structKeyExists()を使用して、このような変数チェックを行う必要があります。isDefined()isset()とほとんど同じですが、誤検知を返す傾向があるため、可能であれば避けるべきです。isDefined()
  • $_POST 変数は、FORM スコープの変数と同じです。
  • stripslashes()は、文字列内の引用符をエスケープするバックスラッシュをエスケープ解除します。
  • .(ドット) は、CFMLのような文字列連結演算子です。&
  • fopen()はファイルを開き、"w" 引数はそれを書き込み用に開きます。したがって、CFMLでのfileOpen()の同等の使用法と同様です。
  • fwrite()は、上記のファイルに書き込みます。
  • === falseビットはファイル書き込みエラーがあったかどうかを確認しますが、これは CFML に直接相当するものはありません。そのため、ファイル操作の周りに try/catch を配置するのが類推になると思います (これは常に行う必要があります)。
  • echo()writeOutput() (または単に <cfoutput>) と同等です。
  • fclose()はfileClose()と同じです。

それだけです。残りの部分は自明だと思います。

私が言うことの1つは、これらすべてを(正確に〜)推測するか、グーグルで検索するのは非常に簡単だったということです。「php fopen」、「php dot operator」などをグーグルで検索しました(ほとんどの場合、ドキュメントへのリンクを取得するためだけです)。したがって、おそらくこれを自分で行うことができたでしょう。

于 2012-11-30T16:29:54.027 に答える