のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,683,107人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレくだすれPHP(超初心者用)3

php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 'XSLTProcessor' + - 410Gone + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
701 : nobodyさん - 2008/04/23(水) 13:20:17 ID:??? (+38,-27,-1)
ttp → http になって喜ぶのはいいけど

http → hhttp
ftp → hftp
news → 略

これが「やりたい事」なのか冷静に考えてみよう。
702 : nobodyさん - 2008/04/23(水) 14:27:12 ID:??? (+68,+29,-43)
>>700
ありがとうございます、調べてみます。

>>701
そうだった・・・・全種類にh付くんですよねこのままじゃ。
この形式による動作の分類は正規表現を学べは問題なくできることなんでしょうか?
703 : nobodyさん - 2008/04/23(水) 14:44:21 ID:??? (-2,-30,-25)
(h?ttps?|ftp|news)→(h?ttps?|)

もしかしてこれでおけでしょうか?
他のリンクをしないとすると。
704 : nobodyさん - 2008/04/23(水) 15:02:27 ID:??? (+39,-30,-89)
ftp も news も gopher も archie もリンクなしでよければ
(h?ttps?|ftp|news) → h?(ttps?) // h? をカッコから出す
にすればいいと思うよ。

PHP や正規表現と無関係な話になるけど、ttp でアドレスを貼った人は
勝手に http で貼ったのと同じ結果に書き換えられたらどう思うんだろうね。
705 : nobodyさん - 2008/04/23(水) 15:03:56 ID:??? (+36,-29,-5)
h1文字をつけるケースは1通りなんだから、
URLとして有効だったらあとは ttp:// だけで直接比較すればいいだろう
706 : nobodyさん - 2008/04/23(水) 15:18:54 ID:??? (+69,+30,-135)
>>704 >>705
やはりそうでしたか、本当に助かりました。
うちの掲示板は広告に対する禁止ワードの効果がほとんどなかったので
httpを禁止ワードにしてリンクはttpで書き込んでもらうようにしたら1件も広告つかなくなりました。
なので今まで基本コピペで飛んで貰うような状況だったのですが
今回自動リンク出来たら訪問者も楽だろうと言う事で質問してみました。

訪問者がリンク張りたくないものに関してはまた規約に赤で方法を明記したいと思います。
707 : nobodyさん - 2008/04/23(水) 17:35:33 ID:??? (-2,-30,-36)
正規表現で折り畳むのと、ベタで(http|https|ttp|ftp|news)
と並べるのとどっちがいいんだろ。
708 : nobodyさん - 2008/04/23(水) 19:40:21 ID:??? (-2,-30,-37)
|で並べる時点で正規表現じゃないかと・・・
ベタというならswitch($var) case 'http':とか。
709 : nobodyさん - 2008/04/24(木) 23:09:38 ID:??? (-2,-30,-63)
<a href=http://<? $ip=gethostbynamel("google.com"); print_r($ip); ?>><? $ip=gethostbynamel("google.com"); print_r($ip); ?></a>
これをforeeachにするにはどうすればいいんでしょうか。。。
710 : nobodyさん - 2008/04/25(金) 00:03:45 ID:??? (+59,+29,-4)
は?何言ってんだお前
711 : nobodyさん - 2008/04/25(金) 08:42:31 ID:??? (+17,-30,-76)
こういうことか?

$array_address=(
'google.com',
'yahoo.com'
);
foreach($array_address as $address){
$ip=gethostbynamel($address);
echo "<a href=http://{$ip}>{$ip}</a>";
}
712 : nobodyさん - 2008/04/25(金) 08:56:07 ID:??? (+4,-29,-4)
配列使わずforeeeeeachとはこれいかに
713 : nobodyさん - 2008/04/25(金) 10:37:24 ID:??? (+12,-30,-88)
>>711
こういうことじゃね?

$ip = gethostbynamel($address);
$string = '<a href="http://'. $ip .'">'. $ip .'</a>';
$chars = preg_split('//', $string, -1, PREG_SPLIT_NO_EMPTY);
foreach($chars as $char) {
    $result[] = $char;
}
echo implode('', $result);
714 : nobodyさん - 2008/04/25(金) 12:02:35 ID:??? (+27,-29,-17)
switch文内にif条件式を入れられるでしょうか?
715 : nobodyさん - 2008/04/25(金) 12:11:17 ID:??? (+63,+21,-2)
可能だよ
716 : nobodyさん - 2008/04/25(金) 12:15:21 ID:??? (+51,+30,+0)
717 : nobodyさん - 2008/04/25(金) 12:18:38 ID:??? (+46,+10,+2)
>>715-716
ありがとうございます!
718 : nobodyさん - 2008/04/25(金) 12:29:05 ID:??? (+6,-30,-22)
質問です
$time=10:00;

この$timeを午前か午後か(am,pm)判別する関数はありますでしょうか?
719 : nobodyさん - 2008/04/25(金) 12:37:19 ID:??? (-1,-29,-5)
>>718
その$timeは午後になると、$time=22:00;となるのかい?

720 : nobodyさん - 2008/04/25(金) 12:38:17 ID:??? (+41,+23,+0)
そうです
721 : nobodyさん - 2008/04/25(金) 12:46:38 ID:??? (+29,-30,-71)
>>718
<?php
$time = '10:00';

echo ampm($time);

function ampm($ntime){
if($ntime >= '12:00'){
return 'PM';
}else{
return 'AM';
}
}
?>
722 : nobodyさん - 2008/04/25(金) 13:32:14 ID:??? (+2,-29,-12)
>>721
ありがとうございます!
この$ntimeは文字列でしょうか?整数でしょうか?
723 : nobodyさん - 2008/04/25(金) 14:10:28 ID:??? (-1,-29,-4)
>>722
'12:00'とコロンが含まれている時点で、整数ではありえないよね。
724 : nobodyさん - 2008/04/25(金) 14:41:01 ID:??? (-1,-29,-7)
自作関数なしなら
echo date('A', strtotime('10:00'));
725 : nobodyさん - 2008/04/26(土) 00:22:55 ID:??? (+32,-29,-63)
警告、エラー表示レベルを上げる方法はないでしょうか。

defineしていない定数が使われた場合、
配列の値が入っていないインデックスを参照した場合に、
教えてくれるようにしたいです。

ググってerror_reportingはE_ALLのみにしたんですが、
それではダメでした。
726 : nobodyさん - 2008/04/26(土) 03:39:59 ID:??? (+20,-29,-13)
E_ALL | E_STRICT
727 : nobodyさん - 2008/04/26(土) 14:02:37 ID:??? (+12,-30,-109)
>>712
http://search.net-newbie.com/php/function.gethostbynamel.html
>array gethostbynamel ( string hostname )
>hostnameで指定したインターネットホストを 検索して得られた IP アドレスのリストを返します。 もし hostname が解決できなかった場合は FALSE を返します。

このl(ist)ってのは配列ではないんですかね。。

>>710
>>1
自分でもよくわからないんです^^;

>>711
ありがとうございます!
なるほどforeachはこう使うんですね!

>>713
ありがとうございます!
preg
implode
がわからないので調べてきます!
728 : nobodyさん - 2008/04/26(土) 14:36:37 ID:??? (+14,-19,-11)
l(ist)って何だよ(list)すらねーよボケ
ここは質問スレだが分からないことを開き直る勘違い野郎ならお断りだ。
729 : nobodyさん - 2008/04/26(土) 16:51:09 ID:??? (+47,+16,+1)
>>726
できました。ありがとうございます。
730 : nobodyさん - 2008/04/26(土) 17:09:26 ID:??? (+11,-30,-190)
>>727
> string gethostbyname ( string hostname )
> array gethostbynamel ( string hostname )

関数名の l は list の略だから戻ってくるのは配列っすよね、じゃなくて
array (または FALSE) を返しますよと書かれてるから、戻り値が配列。

こんな感じにしたいのかな。

<?php
$hosts = array('yahoo.com', 'google.com', 'example.com');
echo "<dl>\n";
foreach ($hosts as $host) {
  $ip_list = gethostbynamel($host);
  echo "<dt>$host</dt>\n";
  if ($ip_list) {
    foreach ($ip_list as $ip) {
      echo "<dd><a href=\"http://$ip/\">$ip</a></dd>\n";
    }
  } else {
    echo "<dd>unresolved.</dd>\n";
  }
}
echo "</dl>\n";
?>
731 : nobodyさん - 2008/04/26(土) 17:35:07 ID:??? (+39,-30,-33)
>>728
すみません><

>>730
ああようやく理解することができました><
どうもありがとうございます。
foreachで配列の中身をすべてぶちまける
ということがやりたかったんです。
$ip0 = $ip_list[0];
$ip1 = $ip_list[1];
みたいなことなんですね、asって。
お世話になりました><
732 : nobodyさん - 2008/04/26(土) 18:19:33 ID:??? (+63,+29,-38)
>>731
純粋な質問なんだが,マニュアルのforeachのページ見ないのは何故だったの?存在しらなかった?難しくて理解できなかった?
733 : nobodyさん - 2008/04/26(土) 18:47:40 ID:??? (-1,-29,-10)
返ってきた中身を知りたいだけなら、print_rとかvar_dumpとか
734 : nobodyさん - 2008/04/27(日) 05:14:11 ID:??? (+51,+15,-31)
>>721
これで大小判定できるんだな
PHPスゴス


と思ったら:以下が切り捨てられてるだけか
PHPコワス
735 : nobodyさん - 2008/04/27(日) 05:40:25 ID:??? (+57,+29,-3)
そんくらい時と場合によって使い分けろ
736 : nobodyさん - 2008/04/27(日) 06:13:37 ID:??? (+4,-29,-20)
>>734
$time = '9:00';
とかで試せばわかると思うけど何も切り捨てられてないよ。
というか、文字列。
737 : nobodyさん - 2008/04/27(日) 19:33:14 ID:??? (+3,-30,-98)
カウンタで質問なのですが
http://loglog.jp/~php/tt/tt4.php
のサイトに書かれている
>次に書き込むのですが、fgetsで読み込んだ時にポインタが動いてファイルの最後に行っているので、ポインタを先頭に引き戻してから、書き込みます。
>ポインタを戻すのはfseek() 書き込みはfputs()です。追記:rewind($fp)の方がいいかも...

>fseek($fp, 0);
>fputs($fp, $count);

のポインタを先頭に戻すという意味がわかりません。
ためしに削ってみると、カウンターが凄い勢いで増えていくので重要な機能なのは分かるのですが・・・
738 : nobodyさん - 2008/04/27(日) 21:18:36 ID:??? (+54,+26,-30)
テキストエディタで言うと、キャレットをファイルの先頭に
739 : nobodyさん - 2008/04/27(日) 21:19:26 ID:??? (+90,+28,-37)
開いたファイルからデータを操作するポイントのこと。
レコードの針とかCDの走査点みたいのを想像すればいい。

凄い勢いで増えていくってのは、1→12→123→1234みたいな感じ?カオスだなw
740 : nobodyさん - 2008/04/27(日) 22:15:43 ID:??? (+70,+29,-15)
ファイルまるごと読み込んで、足して上書きして、終わりって訳ではないんですね
ポインタですか
勉強になりました。ありがとうございました
>>739
そうなんです。
カオスです
741 : nobodyさん - 2008/04/28(月) 05:14:49 ID:??? (-1,-29,-2)
1→12→1213→12131214→....だぜきっと
増え方見てりゃなんとなく分かりそうなもんだけどな
742 : nobodyさん - 2008/04/28(月) 10:28:05 ID:??? (+86,+20,-21)
>>725
配列の値が入っていないインデクスを参照するのって違反なんですか?
743 : nobodyさん - 2008/04/28(月) 16:19:13 ID:??? (+69,+29,-3)
>>742
致命的ではないが好ましくはない
744 : nobodyさん - 2008/04/28(月) 16:46:43 ID:??? (+7,-30,-46)
そうなんですか。

「ID、値段」の並んだデータファイルから

$ar[$id] = $price;

でどんどん取り込んでいって、

if ($ar[$data] == "") {
 echo "$dataは存在しません。\n";
 どうのこうの
}

って常用してる… 
745 : nobodyさん - 2008/04/28(月) 17:04:27 ID:??? (+36,-30,-42)
質問です。
csvファイルの5行目から20行目までを取得するにはどうすればよいのでしょうか?

$test = fopen("hoge.csv","r");
for($i=5;$i<20;$i++){
$row = $test[$i];
}

この方法ではうまくいかないです・・・
746 : nobodyさん - 2008/04/28(月) 17:20:40 ID:??? (+71,+29,-10)
たとえファイルハンドルが配列として扱えるとしても、それでは最終行しか
残らないのでは?
747 : nobodyさん - 2008/04/28(月) 17:42:10 ID:??? (+62,+29,-30)
>>745
こっち使うとか。
http://www.php.net/manual/ja/function.file.php

fopen() は例で言えば $test とファイルを結びつけて、これから読み書きしたり
ファイルポインタを進めたり戻したりする操作を可能にする「準備」の担当さん。
748 : nobodyさん - 2008/04/28(月) 17:56:15 ID:??? (+18,-30,-43)
>>746-747
ご返答ありがとうございます

$test = file("hoge.csv");
for($i=5;$i<20;$i++){
$row = $test[$i];
}
これではうまく行きませんでした
for文で行数を指定するやり方は間違っているのでしょうか?
749 : nobodyさん - 2008/04/28(月) 18:04:09 ID:??? (+10,-30,-15)
>>748
>>746の意味をよく考えて、せめて
$row .= $test[$i];
にしてみるとか、もう少し考えてもいいと思うんですよ。
$row を各行=要素な配列として扱いたいのならまた別になるけど。
750 : nobodyさん - 2008/04/30(水) 11:54:01 ID:??? (+3,-30,-143)
CSVファイルを更新しようとしてます。
フォームから入力された月が一致するものを"可能"から"予約済み"に
上書きするスクリプトです。

$file = fopen("test.csv","r");
$file_bak = fopen("test.csv","w");

while ($data = fgetcsv($file,1024,",")) {
if($data[0]==$mon){
$data[1]="予約済み";
$rowc = implode(",", $data);
fputs ($file_bak, $rowc . "\n");
}
}
fclose($file_bak);
fclose($file);

フォームから入力するとデータがまっさら(0バイト)になってしまいます。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 'XSLTProcessor' + - 410Gone + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について