ホームページ > バックエンド開発 > PHPチュートリアル > 初心者は fopen 関数の何が問題なのかわかりません。誰か助けてください。

初心者は fopen 関数の何が問題なのかわかりません。誰か助けてください。

WBOY
リリース: 2016-06-23 13:51:38
オリジナル
807 人が閲覧しました


$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
@$fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt",'ab');
flock($fp, LOCK_EX);
if (! $ fp) {
echo "& lt; p & gt; & lt; Strong & gt; 送信失敗 & lt;/strong & lt;/body & gt; & html & gt;"; }}

拳は常にページに表示されます:送信失敗
ファイルが開いていないことを意味しますか


echo $fp
を使用しましたが、何も表示されませんでした

ディスカッションに返信(解決策)

@ Go の前に @$fp = fopen を置くと、エラー メッセージが表示されます。そうでない場合は、エラー メッセージがオフになり、エラー報告がオンになっている可能性があります。

@$fp = fopen の前の @ を削除すると、エラー メッセージが表示されます。そうでない場合は、エラー メッセージがオフになり、エラー報告がオンになっている可能性があります。

マスターはエラーサプレッサーを削除し

、PHP エラーレポートを開きました
まだプロンプトは表示されません
"送信に失敗しました" だけです

"$DOCUMENT_ROOT/../orders/orders.txt" ファイルは存在しますか? 印刷してください。それをチェックしてください 。


問題が見つかりました。その理由は、PHP 組み込み変数 $_SERVER['DOCUMENT_ROOT'] を $_SERVER[DOCUMENT_ROOT] として記述する必要があるためです。

角括弧内の 2 つの一重引用符を追加すべきではありません


いいえ、正しい書き方は $_SERVER['DOCUMENT_ROOT'] ですが、$_SERVER[DOCUMENT_ROOT] も PHP では認識されますが、パフォーマンスは良くありません。

これを変更しただけで問題ありませんか?

ファイルのパスに問題がある可能性があります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート