最近、Xiaoyang は PHP クラスメート ディレクトリを作成しました。生徒はここで名前、電子メール、OICQ、その他の情報を追加または変更し、mySQL データベースに保存できます。ある日、Xiaoyang は、PHP を使用して、学生がダウンロードして Foxmail アドレス帳に情報をインポートできるファイルを生成できたらいいのに、と突然思いつきました。
実行するだけですぐに、Xiaoyang はこの機能を開始しました。それはどのように達成されるのでしょうか?ここでは、名前、メールアドレス、OICQ のエクスポートについてのみ説明します。
情報が必要な場合は、Foxmail アドレス帳にインポートできます。もちろん、最初に Foxmail アドレス帳にインポートされるファイルの内容と形式を理解する必要があります。 Foxmail4.2 でアカウントのアドレス帳を開くと、メニュー バーの「ツール」-「インポート」で、Foxmail が「CSV ファイル」と「Wab ファイル」の 2 つの外部ファイルのインポートをサポートしていることがわかります。 CSV ファイルを生成することを選択します。では、Foxmail にインポートできる CSV ファイルの内容と形式は何でしょうか?まずは Foxmail から CSV ファイルをエクスポートして見てみましょう。 Foxmail のアドレス帳で空でないレコードのあるフォルダーを選択し、「ツール」-「エクスポート」-「テキスト ファイル」を実行し、ファイル名を「TEMP.CSV」として保存し、「次へ」で出力フィールドを選択します。 「名前」、「メールアドレス」、「OICQ」を選択し、「完了」をクリックすると、指定したパスに「TEMP.CSV」ファイルが生成されます。 Microsoft office シリーズをインストールしている場合、これはデフォルトで EXCEL で開かれるファイルであることがわかります。実際には、これをダブルクリックして開くと、インターフェイスが表示されます。図のようになります。
この場合の書き方はまだ分かりません。メモ帳で「TEMP.CSV」ファイルを開くと、その形式が非常に単純であることがわかります。図に示すように、ファイルの最初の行は Foxmail アドレス帳のフィールドで、他の行は値です。各フィールドと値は英語のカンマで区切られます。したがって、私たちは PHP でこの形式の CSV ファイルを生成し、他の人はそれをダウンロードして Foxmail にインポートできます。
しかし、まだ解決すべき問題が残っています。それは、ファイルが区切り値としてカンマを使用しているため、データベースのレコードに英語のカンマがあった場合はどうなるのかということです (注: 以下の記号特に指定のない限り、英語の記号を参照してください) 管理?もちろん、最初にデータ内のカンマを中国語のカンマに置き換えることもできますが、実際には別の方法があります。つまり、CSV ファイル内の対応するフィールドの両端に二重引用符 (「ie " "」) を追加すると、値を区切ります。間にある英語のカンマは区切られた値としては使用されません。また、フィールド内の 2 つの連続した英語の二重引用符 (つまり、「"」) は、区切られた値としてではなく 1 つとしてのみ表示されます。
これらを理解すると、CSV ファイルをエクスポートする PHP ファイルを作成できます:
コードをコピーします コードは次のとおりです:
//この行はスペースや改行を入れずにプログラムの先頭に配置する必要があります。以下の header() 関数では、使用前にユーザーに何も出力できないためです。
$dfname="tofoxmail.csv"; //生成されたファイル名
//mySQL データベースに接続します:
mysql_connect("localhost","yourname","yourpassword") または die("接続できませんデータベース!");
mysql_select_db("卒業生") または die("データベース エラー!");
if($action=="downit"){
$getdata=mysql_query("SELECT name , email,oicq FROM classdata"); //データテーブル内の指定されたレコードを選択します
//データがない場合:
if(@mysql_num_rows($getdata)==0){
echo "申し訳ありませんが、まだ情報がありません!";
exit;
}
//以下はダウンロード用のファイルを生成します:
header("Content-disposition: filename=$dfname") ;
header ("Content-type:unknown/unknown");
echo "name, email address, OICQ, foxaddrID"; // Foxmail アドレス帳のフィールドを出力します。 i=1;
while($row=mysql_fetch_array($getdata)){ //データ型の値を取得します
//データ内の各二重引用符を 2 つに置き換えます:
$row[name] ]=str_replace("" ","""",$row[名前]);
$row[email]=str_replace(""","""",$row[email]); $row[oicq]= str_replace(""","""",$row[oicq]);
//対応するフィールドの値に対応する行を出力します。各値は二重引用符とカンマで区切られます:
echobase64_decode( "DQo=").""$row[name]","$row[email]","$row[oicq]",$i";式、「base64_decode("DQo=" )」は改行文字です。「n」が使用されないのは、この 2 つがまったく同じではないためです。
後者を使用すると、Foxmail のインポートが失敗する可能性があります。 >*/
$i;
}
exit;
}
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
