ホームページ  >  記事  >  バックエンド開発  >  PHPがmysqlをサポートしていない場合の代替案

PHPがmysqlをサポートしていない場合の代替案

WBOY
WBOYオリジナル
2016-08-08 09:33:561027ブラウズ

一般に、個人の無料ホームページ スペースは MySQL サポートを提供していません。また、たとえサポートしていたとしても要求が非常に厳しいため、適切な代替手段を見つけることが重要です。
PHP のファイル処理機能は非常に強力なので、代わりにファイル アクセスを使用できます。
(データベースがない場合は、すべてがファイルごとに整理されることを知っておく必要があります。笑!) 各データ項目は、explode() 関数による単一レコードの読み取りを容易にするために、特殊な記号で区切られています。
実はここでもデータベースの考え方が使えます!データベースのインデックスのようなものです。
したがって、最初にインデックス ファイルを作成する必要があります。 (これは正しくありません)
ゲストブックを例に挙げてみましょう:
主なファイルは次のとおりです:
インデックスデータベース
その構造は次のとおりです:
メッセージを残した人の名前||メッセージを残した人の性別||メッセージの時刻||メッセージ内容の保存場所||feiyn (これは「n」のため、読みやすくするためのものです!
各行は保存され、PHP の fgets() 関数、または各行を配列に読み取る file() 関数を通じて簡単に読み取ることができます
複数の人が同時にデータを書き込むことを防ぐために、ロックも必要です(これもファイルを使用して実装されます)
以下は書かれたコードです
//次のパラメータを渡す必要があります:
//メッセージ送信者の名前 $name
//メッセージ送信者の性別 $sex
//メッセージ時間 $time
//メッセージコンテンツの保存場所 $savePosite
$indexFile="インデックス.データベース"; $indexFileLock=$indexFile."ロック"; $message=$name."||".$sex."||".$time."||".$savePosite."||feiy||";//これは書き込まれる記録です
while(file_exists($indexFileLock)) $temp++; //ロックされているかどうかを確認します
fclose(fopen($indexFileLock,"w")); //そうでない場合は、同じアクセスの競合を避けるために入力してロックします
$fp=fopen($indexFile,"a"); fputs($message,strlen($message)); fclose($fp); unlink($indexFileLock);//ロック解除
?>
コードを読む
$indexFile="インデックス.データベース"; $indexFileLock=$indexFile."ロック"; while(file_exists($indexFileLock)) $temp++; //ロックされているかどうかを確認します
fclose(fopen($indexFileLock,"w")); //そうでない場合は、同じアクセスの競合を避けるために入力してロックします
$ary=ファイル($インデックスファイル); unlink($indexfileLock);//ロック解除
for($i=0;$i $tempAry=explode("||",$ary[$i]); echo("名前:".$tempAry[0]); echo("セックス:".$tempAry[1]); echo("セックス:".$tempAry[2]); echo("savePosite:",$tempAry[3]);//このアドレスからメッセージの内容を読むことができます
}
?>

上記により、チャット ルーム、BBS フォーラム、ブックマークなどの一般的な Web アプリケーションを簡単に解決できます。
そのエビにもっと良い解決策がある場合は、教えてください。ありがとう!






上記では、PHP が mysql をサポートしていない場合の代替手段を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。