いつも適切な回答ありがとうございます。
独自ドメインのレンタルサーバーでHPを運用しているのですが、
SQL(MYSQLやポステージ)が使える環境ではありません。
PHPのみです。
このような環境のままでDBのようなことができないかと今、大変思案している日々です。
やろうとしていることは、
「HP内のある箇所を日時により表記を変えたい」です。
具体的には商店のサイトで
7月16日 10時はOOの商品セール中!11時30分はOOの商品セール中!
7月17日 15時はOOの商品セール中!21時はOOの商品セール中!
というようにHP内のある部分のみ指定日時で表記を変えたいのです。
今、自分ではこのように変更したい箇所に埋め込んでます。
<?php
//更新情報☆
$a = 200507161035;
$b = 200507161050;
$c = 200507161300;
//
if ( $a > date(YmdHi))
include "php/whatsnew.php";
//
else if ( $b > date(YmdHi))
include "php/whatsnew1035.php";
//
else if ( $c > date(YmdHi))
include "php/whatsnew1050.php";
//
else
include "php/whatsnew1300.php";
?>
ただ、これだと24時間分以上作らねばならないし(24時間営業なので)かなり長くなります。昼間などは分単位でも商品情報を入れ替えたい為。
もっと効率のよい方法を考えているところです。
だらだらした説明で申し訳ないのですが、
どなた様かよいアイデアお持ちでしたら是非ご教授を願いたいと思っております。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
ちょっと不親切だと思ったので具体的に書きます。
例えば、
200507161035,OOの商品セール中!
200507161050,××の商品セール中!
200507161300,□□の商品セール中!
というデータを作ります。(「,」じゃなくてタブの方がいいです)
それをdata.csvと言うファイルに保存したとして、
$datas=file('data.csv');
foreach($datas as $one_data){
list($time,$text)=split("\t",$one_data);
if($time > date(YmdHi)){
$hour=substr($time,8,2)*1;
$minute=substr($time,10,2);
print $hour.'時'.$minute.'分は、'.$text;
break;
}
}
のように出来ます。
(ソースをコピーする場合、全角スペースが入っているのでご注意を)
データ書き込み用のページを作る場合はsplitでなくjoinを使います。
ありがとうございます!
わからない関数substrなど自分でも検索しながら
書いていただいたものを勉強させていただいています。
この場合、実質DBにあたるdata.csvには画像やHTMLタグは書き込み可能なのでしょうか?.csvとは聞きなれない拡張子で勉強不足を痛感しております。
もう少し、ご教授いただけると幸いです。
No.6
- 回答日時:
No.4です。
PHP5ではSimpleXML関数により簡単にXMLを扱う事ができます。
$root = simplexml_load_file('***.xml');
でXML構造が$rootにはいります。
year要素へのアクセスは$root->year[$i];(yearが複数あるため配列)
year要素のnum属性には$root->year[$i]['num'];
itemへは$root->year[$i]->month[$i]->day[$i]->item[$i]
とforeach文の中で行えばいいと思います。
ただ、マルチバイト文字への対策でinternal_encoding変換して出力する必要があります。
PHP4の場合、いきなり難易度がぐーんと上がってしまいますが。
PEARをインストールし、/PEAR/XML/にXML_Treeパッケージがなければ個別に取得します。
SimpleXML同様に記述が簡単で各要素を連想配列によって扱えるので、慣れてしまえば便利ではないでしょうか。
参考URL:http://pear.php.net/manual/ja/
PHP5すごいですね。
わたしは、4なのでちょっとすぐには使えそうにない話ですが、
大変!役に立つ内容でPHP自体バージョンをあげようかと検討したいと思います。
ありがとうございました。
No.5
- 回答日時:
> 実質DBにあたるdata.csvには画像やHTMLタグは書き込み可能なのでしょうか?
可能です。CSVは、単なるテキストファイルです。.csvの拡張子を使うメリットとしては、WindowsでExcelに関連付けされていることくらいです。別に.csvでなくても、.txtでも拡張子なしでも何でもいいです。
ただしExcelで開く場合、「"」などが勝手に消されたり、さまざまな「おせっかい」が起こる可能性もありますので注意してください。
なるほど!
早速、私のサイトで練習してみます!
思い切って質問してみてよかった!!
もし行き詰った際にはまたご指導いただけると幸いです。
ありがとうございました!!
No.4
- 回答日時:
以下を***.xmlとして保存。
PHP からnew XML()として、目的の情報を取得してください。分単位でファイル名の指定までできるはずです。
<?xml version="1.0" encoding="Shift_JIS"?>
<root>
<year num="2005">
<month num="12">
<day num="31">
<item hour="08" minute="00" file="nenmatu.php">年末大セール中!</item>
</day>
</month>
</year>
<year num="2006">
<month num="1">
<day num="1">
<item hour="10" minute="30" file="newyear.php">新春大セール中!</item>
<item hour="11" minute="00" file="motituki.php">餅つき大会!</item>
</day>
</month>
</year>
</root>
No.1
- 回答日時:
データ数やアクセス数がそれほど多くないなら、テキストファイル(CSVファイル)を使ってできます。
レンタルサーバにDBがついていない頃は、それが普通でしたね。
つまりEXCELなどで、データを作り、CSV形式で保存します。
それをfile関数で読み取って、splitで分解して、変数に入れていけば、DBのように使えます。
同じように書き込みも出来ますので、書き込み用の管理画面を作ることも可能です。
この回答への補足
ありがとうございます。
そんな方法もあるのですね!
手探りながらも教えていただいた言葉を頼りに自分でも調べてみようと思います。
もし、許されるならばもう少し詳しく教えていただけると幸いなのですが。
なによりレスいただけたことに感謝です。ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- PHP PHPの変わった閉じタグの必要性と意味を教えてください。 1 2022/08/28 15:15
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- PHP WordpressのPHPを安全に編集する方法 1 2022/08/04 01:43
- JavaScript 指定時間になったら、WEBサイトの更新を自動で行うには…? 3 2022/04/28 22:14
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
URLをたたく賢い方法
-
phpのプログラムエラー
-
DreamweaverMX2004で挿入するFl...
-
PHPのload時にいきなり条件分岐
-
テンプレート化したphpのmenu.p...
-
cronで外部ファイルへアクセス
-
関数内の配列$list[0]~$list[2...
-
cgi-binでPHP動作しない
-
include先でのinclude元の変数...
-
別PHPファイルに変数を渡す
-
phpinfo.phpを開くとファイルの...
-
シェルスクリプトからphpファイ...
-
plesk 7.5 導入サーバーで php....
-
#!/usr/local/bin/phpはどこに...
-
CGIタイプのPHPとは・・・?
-
Phpが環境設定がうまくいかない。
-
【BAT(バッチ)ファイル】Web...
-
フォントの色を変えるには?
-
AccessのDoCmd.SendObjectについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
こちらはただの直列処理ですか?
-
別ファイルの変数を呼び出した...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
phpのソースコードが、そのまま...
-
MySQLの配置が変わったため、db...
-
include先でのinclude元の変数...
-
.phpのファイルを開けない!
-
PHPから別なPHPへ移動(?)する方法
-
phpinfo.phpを開くとファイルの...
-
入力フォームの空白や改行を制...
-
#!/usr/local/bin/phpはどこに...
-
PEARのmimeDecodeでメール解析...
-
パスワード等が記述されているp...
-
Fedoraでphp
-
Javascriptで解凍のコマンドは...
-
拡張子php画像をbmp画像等に変...
-
1行目の#! "C:\\xampp\\php\\p...
-
URLをたたく賢い方法
-
1つのファイルにrequireを何度...
おすすめ情報