0

PHP と MySQL を使用して、動的な Web ページを生成しています。次に、検索結果をファイルにします。まず、私が使用する

 $query = "select * from database into outfile 'query.txt'";@mysql($query);

しかし、それは機能しません。次に、「fopen」関数を使用してみます。

$fp=fopen("query.txt","w+") or exit("Unable to open file!");
if($result_specific){
while( $row = mysql_fetch_array( $result_specific,MYSQL_ASSOC )){
    echo fwrite($fp,$row["p1"]."\t".$row["p2"]."\t".$row["p3"]."\n");
}
}
fclose($fp);

残念ながら、「ファイルを開けません!」と表示されます。多分それは間違ったURLですか?しかし、正しい URL を指定する方法がわかりません。

4

1 に答える 1

1

select * from database into outfile 'query.txt'

パスを指定していません - ファイル名のみです。ファイルは、MySQL インスタンスの現在の作業ディレクトリに書き込まれます。インスタンスを実行しているユーザーの uid で書き込まれます。あなたが提供した情報から、結果のファイルが持つパーミッションを判断することは不可能です。Linux/BSD/Posix システムでは、DBMS インスタンスによって継承された umask に基づいてパーミッションが決定されます。

$fp=fopen("query.txt","w+")

PHP は正しいディレクトリを探していますか? ファイルのパーミッションは何ですか?

または exit("ファイルを開けません!");

その「または」は、あなたが思っていることをしません - 「||」であるべきです

if($result_specific){ ...

これは問題と何の関係がありますか?

戻ってフルパスを使用し、権限を確認してください。

于 2013-09-05T08:25:21.427 に答える