初心者でもできるPHPでプログラミング
アフィリエイトのためのPHP入門講座
→
ご利用の前にお読みください
HOME
>
ローテーション・バナーを作ってみよう
>
§
任意のデータを削除する
ファイル操作の関数では途中のデータだけ削除することは出来ません。
一旦すべてのデータを配列で読み込み変更してから上書きします。
<?php
if($_POST["dell"]){
$n= $_POST["n"]; //解説(1)
$Data=file("list.txt");
for($i=0;$i<sizeof($Data);$i++){//解説(2)
if($i==$n){
array_splice($Data‚ $i‚ 1); //解説(3)
}
}
$fp=fopen("list.txt"‚ "w");//解説(4)
flock($fp‚ LOCK_EX);
foreach($Data as $line)fputs($fp‚ $line); //解説(5)
fclose($fp);
print "削除しました";
}
?>
解説(1)
フォームから送信された「n」の値を変数$nに収めます。
「n」の値には、削除する配列の数値インデックスが収められています。
解説(2)
list.txtを配列として読み込み、$nと一致する、$i番目の要素を削除します。
解説(3)
array_spliceは任意の配列の要素を削除、置換する関数です。
array_splice(対象となる配列‚ 削除を開始する要素の位置‚ 削除する要素の数)
この場合、「配列$Dataの$i番目の要素を1つ削除する」という意味になります。
解説(4)
list.txtを書き込みモードで開きます。
「w」で開くとファイルの中身は一旦空になります。
解説(5)
$Dataは配列型なので直接ファイルに書き込むことは出来ません。
foreach関数を使ってすべての要素を順番にlist.txtに書き込んでいきます。
foreach(配列 as 要素の値を収める変数)命令文
foreach関数は配列のすべての要素に同じ処理をするときに良く使います。
→
次へ:引用符などがエスケープされる問題
←
前へ:削除画面を作る
●
HOME
>
ローテーション・バナーを作ってみよう
>
【受講無料】転職支援のためのPHPプログラミング・スクールです。
Webプログラミング講座
ローテーション・バナーを作ってみよう
仕組みを考えてみよう。
バナーリストを外部ファイル化する。
登録画面を作る。
ファイルにデータを追加する
管理画面への入室制限
削除画面を作る
→
任意のデータを削除する
引用符などがエスケープされる問題
サーバーへ設置する
メイン・メニュー
はじめに
入門者向け参考書
PHPの基本
→
ローテーション・バナーを作ってみよう
検索結果リンクを自動化しよう
簡易データベースを作ってみよう
ホームページ制作のためのリンク集
PHPが使えるサーバー
僕が使っているサーバーとドメイン管理のレジストラーです。
ロリポップ!
多くのアフィリエイターが支持する安くて安心の初心者向けレンタルサーバー。MySQLを使うなら↓のチカッパの方が軽いです。
チカッパ!
複数サイトの管理に便利なマルチアカウント、マルチドメイン対応。月額525円〜で500MBの大容量。
ムームードメイン
有料サーバー借りるなら独自ドメインは必須!「.com」「.net」なら年間数百円で取得可能です。ロリポ、チカッパの併用でDNS設定も超簡単!
管理人のブログ
音楽サイトでアフィリエイトblog
音楽アフィリエイトとサイト運営の効率化を考えるブログ
Copyright2005
アフィリエイトのためのPHP入門講座
§任意のデータを削除する
ファイル操作の関数では途中のデータだけ削除することは出来ません。
一旦すべてのデータを配列で読み込み変更してから上書きします。
if($_POST["dell"]){
$n= $_POST["n"]; //解説(1)
$Data=file("list.txt");
for($i=0;$i<sizeof($Data);$i++){//解説(2)
if($i==$n){
array_splice($Data‚ $i‚ 1); //解説(3)
}
}
$fp=fopen("list.txt"‚ "w");//解説(4)
flock($fp‚ LOCK_EX);
foreach($Data as $line)fputs($fp‚ $line); //解説(5)
fclose($fp);
print "削除しました";
}
?>
解説(1)
フォームから送信された「n」の値を変数$nに収めます。
「n」の値には、削除する配列の数値インデックスが収められています。
解説(2)
list.txtを配列として読み込み、$nと一致する、$i番目の要素を削除します。
解説(3)
array_spliceは任意の配列の要素を削除、置換する関数です。
array_splice(対象となる配列‚ 削除を開始する要素の位置‚ 削除する要素の数)
この場合、「配列$Dataの$i番目の要素を1つ削除する」という意味になります。
解説(4)
list.txtを書き込みモードで開きます。
「w」で開くとファイルの中身は一旦空になります。
解説(5)
$Dataは配列型なので直接ファイルに書き込むことは出来ません。
foreach関数を使ってすべての要素を順番にlist.txtに書き込んでいきます。
foreach(配列 as 要素の値を収める変数)命令文
foreach関数は配列のすべての要素に同じ処理をするときに良く使います。