【PHP】下らねぇ質問はここに書き込みやがれpart20
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/04/28(金) 04:12:33ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart34【php】
http://pc8.2ch.net/test/read.cgi/php/1142903954/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
過去スレは>>2-3あたり
0657nobodyさん
2006/05/17(水) 18:09:52ID:???はじめの設計が悪かったんだ。あきらめて漢字のままソートしれ。
0658nobodyさん
2006/05/17(水) 18:32:06ID:???0659nobodyさん
2006/05/17(水) 18:47:28ID:nPnNtFXbこの配列の要素に直接アクセスしたい場合はどうすればいいですか?
{$this->getarray()}[0]
じゃだめですよね。
0660nobodyさん
2006/05/17(水) 18:48:52ID:???0662nobodyさん
2006/05/17(水) 19:12:26ID:???とかを作る
0663nobodyさん
2006/05/17(水) 19:22:27ID:nPnNtFXbサンキューです。
perlも好きでよく使うので、ついついこう書いてしまいたくなるんですよね。
できないのであれば、とりあえず一時変数に入れてやっておきます。
0664nobodyさん
2006/05/17(水) 19:29:45ID:???Perlも最近は構造化とかクラス化とかの概念を取り入れてるとか聞く。
そうするとそういった書き方はあまり好ましくないんじゃないか?
どーでもいいけど。
0665nobodyさん
2006/05/17(水) 21:25:35ID:???0666nobodyさん
2006/05/17(水) 21:40:17ID:???どうしたら、apache以外に出来ますか?
0667nobodyさん
2006/05/17(水) 21:41:48ID:???最近ってPerl5が出たのはPHP5の何年前だとおもってるんだ!
でもoooの考えから行くと、なんでもオブジェクトと想定できるのは好ましいんじゃないの?
0668nobodyさん
2006/05/18(木) 00:15:24ID:???PerlのCPANライブラリは大半がクラスで作られてるが
それでも>>659くらいの書き方は当たり前のようにやる。
oopごときでPerlの信念は揺るがない。
0669nobodyさん
2006/05/18(木) 00:18:40ID:???繋がれる側メソッドでreturn $this;してるのですがパースエラーとなってしまいます。
0670nobodyさん
2006/05/18(木) 00:25:59ID:???キリ番野郎め
rootにはなれないのか?
じゃあ、PHPで作成してディレクトリを作ったんだから
もう一回PHPでディレクトリを削除してみてはどうだろう
上手く行ったらお前のおっぱいうp
0673nobodyさん
2006/05/18(木) 01:22:13ID:???0674nobodyさん
2006/05/18(木) 04:32:45ID:???function hoge() {
static $called;
if ($called) {return 'do not call twice';}
$called = true;
}
みたいな関数があるのですが、そのコード自体は変更せずに
外からこの static 変数の値に無理やりアクセスして値を false に戻すような
ハックをしたいのですが、できますでしょうか?
0675674
2006/05/18(木) 10:21:47ID:???0676631
2006/05/18(木) 10:34:14ID:???そろそろマジレスクレクレ(´・ω・`)ショボーン
ガチで困ってるんです><;
0677nobodyさん
2006/05/18(木) 10:45:19ID:???ほれ
//他人が作ったやつ
function hoge() {
static $called;
if ($called) {return 'do not call twice';}
$called = true;
}
//抹消
unregister_tick_function("hoge");
//自分で作る
function hoge(){
....
}
0678nobodyさん
2006/05/18(木) 10:49:12ID:???0680nobodyさん
2006/05/18(木) 11:21:31ID:R6Lcg4C1どうやって使うのがいいですかね?おすすめの方法とかあったら教えてください。
0681nobodyさん
2006/05/18(木) 11:51:01ID:???現時点で使い道が判らないのなら、今は必要ないってこと。
ヤフオクで売れば?ソフトウェア時間が経つと普通どんどん価値は下がるから
(買ったときからの値段の面でね)
0682674
2006/05/18(木) 12:26:58ID:???ちょっと調べてみたんだけど、
それって register_tick_function で登録したものを解除するんじゃないの?
tick っていう仕組み用じゃないの?意図通り動かないんですが。
unregister_tick_function("hoge");
hoge();
で hoge() 呼べてるんですが。
0683nobodyさん
2006/05/18(木) 12:45:39ID:???関数名そのままの動作なんだが・・・
tickへの登録を解除するだけ
http://www.php.net/manual/ja/language.functions.php
>PHP は関数のオーバーロードをサポートしていません。 また、宣言された関数の定義を取り消したり再定義することもできません。
0687nobodyさん
2006/05/18(木) 14:13:06ID:???結局、何に困ってるの?
system() の外部コマンドの結果が気にくわないということだったら、
これはもうPHPとは関係ないよ。聞く場所を間違ってる。
0689nobodyさん
2006/05/18(木) 14:40:07ID:JEjNXrfu0691軟式PHP
2006/05/18(木) 14:50:22ID:???ここ見て自作して抽出しる。
ttp://www.geocities.co.jp/Playtown-Knight/6845/sd_doc/format_png.html
0692nobodyさん
2006/05/18(木) 15:26:14ID:???■こんなCGI作ってください■ Part.2
http://pc8.2ch.net/test/read.cgi/php/1133361560/
0693nobodyさん
2006/05/18(木) 17:08:09ID:???「Lvうpしたいので宿題ください」
http://pc8.2ch.net/test/read.cgi/php/1147830986/l50
0694nobodyさん
2006/05/18(木) 22:53:26ID:???Perlで他のサイトを取得して表示したいと思っています。
(著作権侵害とかそういうことをしたいのではないです)
お時間のある方にお願いしますが、次のコードで@niftyのトップページを取得してみたら
どうなるか教えていただけませんでしょうか?
print "Content-Type: text/html\n";
print "\n";
use LWP::Simple;
print get( 'http://www.nifty.com/' );
私のところだと、ブラウザ上での表示がぐちゃぐちゃになるんですが…。
0695nobodyさん
2006/05/18(木) 23:11:35ID:???logファイルから、文字列を取得して、それが引数と同じならば、その文字列がある行のほかの文字列を出力するってどうするの?
1\t2\t3\t4\t5\t6
11\t12\t13\t14\t15\t16
21\t22\t23\t24\t25\t26
で、2列目が12であったら、その行の6列目を返すって感じで
0701nobodyさん
2006/05/18(木) 23:33:48ID:???なんか言ってる意味がよくわからんのだが
えーと、引数に "12" ってきたら
"11\t12\t13\t14\t15\t16" の中から"12"を削除して表示できればいいんかいな?
まぁとりあえず正規表現でググれ
0705nobodyさん
2006/05/18(木) 23:47:44ID:???<admin:generatorAgent rdf:resource=〜の項目を取得する方法がわかりません。
$root = simplexml_load_file($url);
$root->channel->children("http://webns.net/mvcb/")->children("http://www.w3.org/1999/02/22-rdf-syntax-ns#");
とやって、$rootをvar_dumpしてみると
object(SimpleXMLElement)#70 (1) { ["@attributes"]=> array(1) { ["resource"]=> string(38) "http://www.movabletype.org/?v=3.01D-ja" } }
というところまでできたのですが、この先の取得方法がわからず、止まっています。。。どなたか、わかりますでしょうか。
↓取得するRSSデータの一部です。
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:admin="http://webns.net/mvcb/"
xmlns:cc="http://web.resource.org/cc/"
xmlns="http://purl.org/rss/1.0/">
<channel rdf:about="http://hogehoge/">
<title>hogehoge</title>
<link>http://hogehoge/</link>
<description></description>
<dc:language></dc:language>
<dc:creator></dc:creator>
<dc:date>2006-05-12T02:13:52+09:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=3.01D-ja" />
0706nobodyさん
2006/05/18(木) 23:48:31ID:???12って入ってきたら、16って返したいんだ。
引数とログファイルの2行目を比較して、マッチすれば、その列の6行目を返す…
0707nobodyさん
2006/05/18(木) 23:59:35ID:???file() -- ファイルの中身全部を1行ずつ配列に格納する関数
explode() -- 区切り文字で文字列を分割する関数
foraezh() -- 配列を1つずつ取り出せるループ構文
if() -- 条件構文
これくらいヒントあればいいか?
0709nobodyさん
2006/05/19(金) 00:12:04ID:???しらべる方法はあるのでしょうか。
0710nobodyさん
2006/05/19(金) 00:45:32ID:???ない。
まあMLやメルマガの配送とかやってるなら、
User unknownのエラーメールが返ってきたら
配布リストの休止にマークとかいう処理で良いんじゃない。
配信に影響すんのはそういったエラーリターンとかだから、
相手のメールサーバはUser unknownのエラー返さなくて捨てても
その場合は自分には関係ないと思われ。
0711nobodyさん
2006/05/19(金) 00:47:29ID:???0714nobodyさん
2006/05/19(金) 01:30:06ID:???0715nobodyさん
2006/05/19(金) 01:36:22ID:???幸いなことに、ロケットのガイドソフトをJPLで開発しているような少数の例外を除けば、私たちの職業
ではミスは滅多に致命傷にはならない。だから、学ぶべきだし、学ぶことができるんだ。そして笑い、前
するんだ。
2:あなたの書いたコードはあなたの分身ではない。レビューのポイントは、問題を発見すること、そして問題は
見つけられるのだだということを覚えておくといい。誰かが指摘してくれるときのために、コードを公開しな
いのは良くない。
3:あなたがどれだけ「空手」について知っていようとも、ほかのだれかがもっと知っているのだ。あなたが教え
を乞えばだれかが教えてくれる。第三者からの情報を探して受け入れるんだ。特に、もう教えてもらうことな
んてないと思っていることに対して。
4:会議の一つもしないで、コードを書き直しちゃいけない。「コードを修正すること」「コードを書き直すこと」
この二つには明確な境界がある。違いを知り、一匹狼としてではなく、コードのレビューという形を通してスタ
イリッシュな変更を目指そう。
5:あなたよりも知識が劣っていると思う人たちに対して、尊敬、尊重、寛容の気持ちを持つことだ。例外なく、技
術系でない人間は、次の通説を支持している。できる技術者とできない技術者の違いはプリマドンナと泣き喚く
赤ん坊ほどの差があると。こんな怒りと絶望に満ちた決まり文句は、広めてはいけない。
0716nobodyさん
2006/05/19(金) 01:36:53ID:???プラットフォーム、ツールの変化は、拒否すべき不便なことではなく、新しいチャレンジだと受け取ろう。
7:真の尊厳は地位ではなく、知識にある。知識は権威を起こし、権威は尊敬を起こしてくれる。エゴレスな環境に
おいて、尊敬が欲しいなら、知を探求することだ。
8:あなたは自分の信じていることを突き崩し、そして敗北を受け入れなければならない。あなたのアイデアはしば
しば踏みにじられるものだということを理解しよう。あなたの意見が正しかったことがのちにわかったとしても、
「だから言ったのに」なんてうらみごとは言っちゃいけない。そして葬られたアイデアは、殉教者や、左翼の集会
のように扱ってはいけない。
9:「引きこもり」になっちゃいけない。真夜中のオフィスで、コーラを買うためだけに部屋をでる、そんなプログ
ラマになっちゃいけない。そんなことをしていると、コミュニケーションもなく、かえりみられることもなく、
コントロールも効かなくなってしまう。オープンで、協調的な環境を築くことはできない。
10:人ではなくコードを批判しよう。プログラマには優しく接して、コードには厳しく接しよう。できるかぎり、
あなたの発言はポジティブでコードを改善するものでなくてはならない。コーディング標準や、プログラムの構
造、パフォーマンスの改善に向けられた発言をすべきなんだ。
0717nobodyさん
2006/05/19(金) 01:52:55ID:???これにはクッキーは必要ないのでしょうか?
私が試しに作ったログイン処理コードは、よく見たらsetcookieなどを使っていません。
つまりクッキーを使用せず、セッション関数のみです。
(※ログインフォームで入力されたIDとパスがDBに保存しているものと一致したら、$_SESSION['login'] = "true"とフラグを立てる。
そのフラグがtrueでなければログインしていない状態と判断する。)
上記のようにクッキーを使っていませんが、期待した通りの動作(ログイン処理)をしているように見えます。
しかし以前に何かで読んだのですが、「ログイン処理ではセッションIDをクッキーに保存して云々」とか
書かれていたような気もします。
セッションを使ったログインには、クッキーは必須なのでしょうか、必須ではないのでしょうか。
そもそもクッキーが何のためにあるのか、よく分からなくなってきました。
0718nobodyさん
2006/05/19(金) 02:06:29ID:???PHPではセッションIDの保存は自動でしてくれる
大抵Cookieに保存してるがCookieが使えない場合URLの末尾に自動的に付記される
Cookieはデータをクライアント側に保存する技術
セッションはデータをサーバ側に保存する技術
0719717
2006/05/19(金) 02:34:29ID:???セッションIDはURLの末尾には付加されてませんが。。。。
php.iniではクッキーのみ使うような設定にしてありますが、
実際にスクリプト内で明示的にSetCookie関数を使わないと
クッキーは使用されませんよね??
0720nobodyさん
2006/05/19(金) 02:59:03ID:???よく嫁
>"Cookieが使えない場合"URLの末尾に自動的に付記される
それとCookieが使える場合はセッションIDはCookieに保存される
SetCookieはコッチがCookieに保存したいときに使う関数だ
マニュアルにもちゃんと書いてあっからまずマニュアル読んで来い
0721nobodyさん
2006/05/19(金) 03:59:15ID:???で紹介されていることをやりたいー
ためしにそのページにあるやつコピペして
phpで保存して鯖にうpしたら
そこで説明されてるとおりにならなかった・・・
知りたいのは・・・・
たとえば「ttp://www.japan.co.jp」があるとして
indexページから001.phpに移動したときに
「ttp://www.japan.co.jp/001.php」と表示されますよね?
これを「ttp://www.japan.co.jp/?aaa=link」 ←このような感じにしていんです
知ってるかた教えてください
0722nobodyさん
2006/05/19(金) 06:02:21ID:???そのページのドコでやってるのか分からんが
ttp://www.japan.co.jp/?aaa=link ってのはレンタルサーバじゃまず不可能
やるとしたらApacheの方でやるしかないが・・・多分そのスクリプト以外動かせないWebサーバになるぞ
ttp://www.japan.co.jp/001.php?aaa=link なら可能
どっちにしろPHPとは関係ない。
CGIの本でも読みなさい。
0723nobodyさん
2006/05/19(金) 07:40:11ID:???こういうことじゃないの?
index.php
<?php
switch ($_GET['aaa']) {
case "link":
include "001.php";
break;
case "hoge":
include "002.php";
break;
default:
header("Location: http://www.2ch.net/");
break;
}
?>
0724nobodyさん
2006/05/19(金) 08:10:56ID:???>それとCookieが使える場合はセッションIDはCookieに保存される
いや、自分もそうだと思っていたんですが、
自作スクリプトにアクセス直後(≒ログイン直後)にIEのクッキー保存フォルダを
開いてみても、該当するクッキーが見当たらないんですよ。
でもたしかにセッションによるログインはうまく行ってる・・・だから混乱してます。
0725nobodyさん
2006/05/19(金) 08:23:27ID:???ファイルが生成されるかどうか確かめて見ればいいんじゃないかな。
おいらは面倒くさがりなのでproxomitronとかのプロキシソフトを使って直接HTTPヘッダを覗いてるけど。
0726nobodyさん
2006/05/19(金) 08:39:57ID:???0729nobodyさん
2006/05/19(金) 11:28:09ID:???例)
index.php?hogehoge
index.php?you=hage
これ自体は普通にindex.phpが返るだけなのであまり気にしてなかったんですが、
少し前にミスったせいで
例)
index.php/hoge.php
index.php/?/hage
index.php/index.php/index.php
のようなリクエストが来るようになってしまいました。
前者の原因は不明なんですが、後者はミスって修正するまでの数十分の間に
クロールされてしまい、index.phpで表示するはずの画像ファイルのリクエストも
全てindex.phpに送られちょっと無視できなくなってきました。
これらのリクエストに対し404を返したいのですが、どのような方法がありますか?
apache1.3.34 php4.4.2 です
htaccessの方がいいでしょうか?
0733nobodyさん
2006/05/19(金) 12:59:46ID:b+EKMyUQ0736nobodyさん
2006/05/19(金) 13:52:56ID:b+EKMyUQありがとうございます。
0737nobodyさん
2006/05/19(金) 14:46:50ID:???$_SERVER['PATH_INFO']あたりで判定できないかな?
phpinfoを呼び出すプログラムを書いて
そのURIにいろいろくっつけて使えそうな引数探してみるといいかも。
404はheaderで飛ばせるはず。
0738nobodyさん
2006/05/19(金) 15:33:15ID:???0739nobodyさん
2006/05/19(金) 15:33:27ID:???if( ログイン判定 ){
内容表示
}
else{
echo 'ログインして下さい';
}
みたいな感じが基本?
if文の中でコンテンツがばーっと続くのがちょっと嫌な感じだったんだけど、どんな風にやるのがいいかな?
0740nobodyさん
2006/05/19(金) 15:47:07ID:???0741738
2006/05/19(金) 15:47:32ID:???・ログインできない人は同じ画面でエラーメッセージ表示
・OKな人は別ページへ飛ばす(飛ばした先でセッション確認)
<?php
if ( ログインできない人 ) { $error="ログインできません"; }
header("Location: ログイン後のページ");
?>
<html>ログインページ内容 <?= $error ?> </html>
0742nobodyさん
2006/05/19(金) 15:50:33ID:???else { header("Location: ログイン後のページ"); }
0743nobodyさん
2006/05/19(金) 16:49:30ID:???とでたんですが、
考えられる設定漏れはなんでしょうか?
0744nobodyさん
2006/05/19(金) 18:26:48ID:???0746nobodyさん
2006/05/19(金) 19:21:00ID:???>>741
ログイン画面ならそのような感じでいいんですが
私が今考えているのは、例えば投稿ページのように、ログインしていないとフォームが表示されないように
したいといったページについてです。
そういう場合はどうしていますか?
0747nobodyさん
2006/05/19(金) 19:30:50ID:???0748nobodyさん
2006/05/19(金) 19:35:07ID:???既に出ている答えで何が不満なのか良く分からんが、
俺の場合は殆どテンプレートファイルを切り替えるだけだから問題ないな。
あとは、ページ表示を関数化したら?
0749nobodyさん
2006/05/19(金) 19:37:08ID:???date関数で日を取得するのはわかるのですが、、、
0751nobodyさん
2006/05/19(金) 19:45:05ID:???$last_day = date("d", mktime(0, 0, 0, date("m") + 1, 0, date("Y")));
0752nobodyさん
2006/05/19(金) 20:05:30ID:???これってどういうときに生じるエラーなのでしょうか。
Warning: pg_query() [function.pg-query]:
Query failed: ERROR:
could not serialize access due to concurrent update in
/phpページのアドレス on line 94
ここでは
Postgresql7.4へupdateのクエリーを送っているのですが、
5人くらいが同時に何度もその問題のページへアクセスしてみると
100回に1回くらいでてきます・・・。
なお、updateするレコードはひとつなので、
取り合いになっていて、その処理がおかしいのかと考えて、
5時間くらいいろいろ試行錯誤してみましたが、
解決していません。
また、このWarning文をブラウザに表示させないようにする方法が
ありましたら教えていただきたいです。
よろしくお願いします。
0753nobodyさん
2006/05/19(金) 20:07:12ID:???■ このスレッドは過去ログ倉庫に格納されています