質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.61%

  • PHP

    19903questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Zend Framework

    71questions

    Zend Frameworkは、PHP5で記述されたWebアプリケーションフレームワークです。Zend Frameworkには守らなければならない開発の規定というものは存在せず、MVCなどの複数のコンポーネントを提供しています。

php zendframework 読み込みファイルが見つからずエラー

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 969

fgfnabwym

score 66

phpとzendframeworkを使い、HPに来た人をカウントし、「あなたは[ ○人目の]の来訪者です」と表示させるプログラムを作りました。

しかし、カウント回数を記録しておくcount.txtファイルを読み込めません。
下のようにエラーが出ます。

Warning: fopen(home/localhost/zendproject/apprication/controller/counter.txt): failed to open stream: No such file or directory in /home/localhost/zendproject/application/controllers/CounterController.php on line 11 Warning: flock() expects parameter 1 to be resource, boolean given in /home/localhost/zendproject/application/controllers/CounterController.php on line 13 Warning: fgets() expects parameter 1 to be resource, boolean given in /home/localhost/zendproject/application/controllers/CounterController.php on line 15 Warning: fseek() expects parameter 1 to be resource, boolean given in /home/localhost/zendproject/application/controllers/CounterController.php on line 20 Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/localhost/zendproject/application/controllers/CounterController.php on line 22 Warning: flock() expects parameter 1 to be resource, boolean given in /home/localhost/zendproject/application/controllers/CounterController.php on line 24 Warning: fclose() expects parameter 1 to be resource, boolean given in /home/localhost/zendproject/application/controllers/CounterController.php on line 26  

HPで解決方法を調べ
・ファイル名の確認
・ファイルパスには「/」を使う
・php.iniの設定が「allow_url_fopen = OffをOnにする
・ファイルのフルパスの確認
$ ls -dF /home/localhost/zendproject/application/controllers/*
/home/localhost/zendproject/application/controllers/CounterController.php
/home/localhost/zendproject/application/controllers/counter.txt

以上の4つを試しましたが、読み込めません。

CounterController.phpの中身です。
<?php

require_once 'Zend/Controller/Action.php';
require_once 'counter.txt';

class CounterController extends Zend_Controller_Action
{
    public function counterAction()
    {
        #読み書きモードでファイルオープン
        $handle = fopen("home/localhost/zendproject/apprication/controller/counter.txt", "r+");
        #ファイルをロックする
        flock($handle, LOCK_EX);
        #ファイルから1行読み込む
        $counter = fgets($handle);
        #カウントアップ
        $counter = $counter +1;
        $this->view->result = $counter;
        #ファイルポインタを先頭に戻す
        fseek($handle, 0);
        #ファイルに出力=書き込み
        fwrite($handle, $counter);
        #ファイルロックを解除する
        flock($handle, LOCK_UN);
        #ファイルクローズ
        fclose($handle);
    }
}

教えていただけないでしょうか。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

check解決した方法

0

/home/localhost/zendproject/application/controllers/CounterController.php
/home/localhost/zendproject/application/controllers/counter.txt  
の権限を変更したら、エラーが消えました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

Warning: fopen(home/localhost/zendproject/apprication/controller/counter.txt): 

$ ls -dF /home/localhost/zendproject/application/controllers/*
/home/localhost/zendproject/application/controllers/CounterController.php
/home/localhost/zendproject/application/controllers/counter.txt 

application apprication 

エル と アール のタイポ

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/02 18:45

    Kosuke_Shibuyaさん、回答ありがとうございました。

    教えいただいたタイプミスを直したのですが、エラーのappricationの部分がapplicationに変わっただけで、ファイル読み込みができませんでした。
    Warning: fopen(home/localhost/zendproject/application/controller/counter.txt):

    キャンセル

  • 2015/08/02 18:48

    controllerの部分もタイプミスでしたので、controllersに直しました

    キャンセル

  • 2015/08/02 19:00

    自己解決にしましたが、Kosuke_Shibuyaさんの書き込みがなければ、どこがいけないのかに気が付くことができませんでした。

    ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    phpのfwriteで文字数が多いとエラー

    現在、テキストファイルの出力にfwriteを使っています。 処理としてはDBの内容を、テキストに書き出しているのですが 文字数が多い場合、以下のエラーが出現するようです。 Wa

  • 解決済

    PHP, 時間と投稿番号を追加書き込み

    したいこと 1.htmlで作成した入力フォームに入力された情報、 「名前」「コメント」をphpファイルに送信。 2.1の情報をphpファイルで受け取り、 用意したテ

  • 受付中

    PHPの掲示板アプリでのエラー

    Aptanaを使ってPHPで掲示板アプリを作ろうとしましたが、掲示板への書き込みを行おうとすると以下のエラーが出て実現されません。 ご存知でしたらお知恵をお借りできませんか。

  • 解決済

    php/mysqlでqueryの結果が空かどうかを判定したい

    表題の通りですが、 phpにてmysqlからデータを取得した際に、 戻り値が空かどうかを判定するにはどのようにしたらいいでしょうか。 mysql_num_rowsを使用したと

  • 解決済

    コメントフォームでのデータ登録に関するエラー

    PHPからPostgreSQLのデータベースにデータを登録する。 今回、データベースの勉強と称してWordPress以外を使いコメントフォームを作っております。 その際、PHP

  • 解決済

    GDを使ってMinecraftのスキンをPNG化する際Error

    PHPを使いタイトルにあるようにスキンをPNG化しようとしてます そしたら【Warning: imagepng() expects parameter 1 to be resou

  • 解決済

    phpmyadminからデータを取ってきた時のエラーについて

    プログラミングの勉強途中なのですが、以下の問題を解いていた時のエラーの原因が知りたいです。 emp_tableのデータを表示するプログラムを作成してください。表示するデータは、セレ

  • 受付中

    【PHP】以下のエラー表示わかる方おりますでしょうか?

    表題の件ですが、以下エラーコードがページ最下部に表示されるようになりました。 こちらの原因と対策がわかる方おりましたらご教示いただけますと幸いです。 よろしくお願いいたします。

同じタグがついた質問を見る

  • PHP

    19903questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Zend Framework

    71questions

    Zend Frameworkは、PHP5で記述されたWebアプリケーションフレームワークです。Zend Frameworkには守らなければならない開発の規定というものは存在せず、MVCなどの複数のコンポーネントを提供しています。