0

PHP で遊ぶのはこれが初めてで、基本的な if/then ステートメントを作成するのに問題があります。私は何かをしたい

ファイルが存在する場合は html コードを表示し、そうでない場合は別の html コードを表示します。

これが私が現在いる場所です-

<?php
if ( file_exists('pdf/'.'htmlspecialchars($_POST['apt'], ENT_COMPAT)'.'.pdf') {
    echo "the file exists";
}  else {
    echo "file does not exist";
}
?>

ここでの問題は、私がどのように書いたかだと思います

file_exists('pdf/'.'htmlspecialchars($_POST['apt'], ENT_COMPAT)'.'.pdf')

感想大歓迎です!

4

4 に答える 4

3

試してみてください:

if (file_exists('pdf/' . htmlspecialchars($_POST['apt'], ENT_COMPAT) . '.pdf')) {
    echo "the file exists";
} else {
    echo "file does not exist";
}

に電話する前に、いくつかの見積もりがありましたhtmlspecialchars()。関数を呼び出すときは、引用符は必要ありません。ブラケットを閉じていないことも確認してください。

于 2012-12-13T08:18:19.667 に答える
2

2 つの問題があります。まず、条件の最後に閉じ括弧がありません。if次に、呼び出しを囲むべきではない場所に引用符がありますhtmlspecialchars

正しいコードは次のようになります。

if (file_exists('pdf/'.htmlspecialchars($_POST['apt'], ENT_COMPAT).'.pdf')) {
    echo "the file exists";
}  else {
    echo "file does not exist";
}
于 2012-12-13T08:20:15.393 に答える
2

引用符の問題があります:

file_exists('pdf/'.htmlspecialchars($_POST['apt'], ENT_COMPAT).'.pdf')
于 2012-12-13T08:18:46.820 に答える
1

htmlspecialchars は必要ありません。不適切な文字をさらに不適切な文字に変換します。たとえば、' は & # 0 3 9 ; になります。(スペースなし)

于 2012-12-13T08:18:36.097 に答える