2016-07-20 4 views
0

私はconnect.phpというファイルを持っています。PHPで公開関数を実行するには?

public static function connect() { 
    $file= file('data.txt'); 
     $hostname = rtrim($file[1]); 
     $dbname = rtrim($file[4]); 
     $username = rtrim($file[7]); 
     $password = rtrim($file[10]); 
     mysql_connect($hostname, $username, $password) or DIE('Connection to host isailed, perhaps the service is down!'); 
     mysql_select_db($dbname) or DIE('Database name is not available!'); 
}; 

他の.phpファイルでこの機能にアクセスするにはどうすればよいですか?

connect(); 

は機能しません。

+1

1.変数スコープについて学んでください(関数から返す必要があります)。 2.実際に 'connect.php'を必ず含めてください。もしその関数がオブジェクトの一部であれば、最初に作成してください。 3。mysql_ *関数はPHP 5.5以降で廃止されました(** PHP 7では**完全に削除されました)。もし可能であれば、それらを使用しなくてはなりません(http://stackoverflow.com/q/12859942)。 mysqli_ *やPDOのようなプリペアドステートメントを使用できるようにする別のAPIを選択する必要があります。* [APIの選択](http://php.net/manual/en/mysqlinfo .api.choosing.php)。 – Qirel

+0

他の人が言っているように、実行中のファイル以外のファイルからコードをロードするには、include()、require()などを使用する必要があります。一般的な障害は、ファイルパス/引数の権利を取得することです。 _echo ini_get( 'include_path')_を実行すると、相対パスを使用するときにPHPがベースフォルダとして使用するフォルダが表示されます。もちろん、絶対パスも使用できます。 –

+0

これがあなたのconnect.php全体の場合、あなたのコードの周りに ''タグがありません。 – bytesized

答えて

0

。コードが機能するには、そのコードにアクセスする必要があります。この機能を別のページで利用可能にしたい場合は、

<?php include 'connect.php' ?> 

これで、そのページで関数呼び出しを行うことができます。

これはかなりです。

+0

コードはサイトにのみ印刷されます。そして、それは動作していません。 エラー:未定義の関数を呼び出すconnect() – 12Hannibal12

+1

@ 12Hannibal12これが 'public static'と考えると、これはクラスの一部であると仮定します。クラスにファイルを含め、 'ClassName :: connect();'のような静的メソッドのような関数にアクセスする必要があります。コードがサイトにのみ印刷されている場合、おそらくクラスファイルにphpタグを追加する必要があります。 –

+0

@JonathanKuhnクラスはありません。上記のコードはconnect.phpファイル全体です。 – 12Hannibal12

0

あなたのPHPファイルが関数にアクセスできるように、ファイルをインクルードする必要があります。これを行うにはrequireを使用できます。それが不可能だからだ

require('path/to/connect.php');

+0

他の回答と同じです:コードはサイトにのみ印刷されています。 – 12Hannibal12

関連する問題