トップページphp
1001コメント324KB

【PHP】下らねぇ質問はここに書き込みやがれpart16

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/02/05(日) 22:35:34ID:sf8bx52D
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/

過去スレは>>2
0488nobodyさん2006/02/16(木) 16:18:28ID:???
482を読む限り、文字列とbooleanとNULL型とかの
基本的な「型」の区別すら付けられていない気が・・・・
(481を読む前に482を投稿したとしても)
0489nobodyさん2006/02/16(木) 16:24:27ID:???
>>487
print_r($_FILES)してみれ
出てきた変数は総てissetで真となる
04904742006/02/16(木) 16:34:56ID:???
みなさん、ありがとうございます。
昨日は動いてた気がしたんですよ、夢でも見てたんですね。
勉強し直して来ます。
0491nobodyさん2006/02/16(木) 16:36:06ID:???
オマイラさん
ttp://www.gac.jp/article/index.php?stats=question&category=&id=17033&command=msg&page=all
こっちでも優しくしてやってくれよ…マイッタ
0492nobodyさん2006/02/16(木) 16:46:47ID:???
ちょとPHPからずれるかもしれませんが
例えばある表のパラメータとかを入れるレコードを作るとして
2回目から入れる場合
主キー=aとか調べてあればupdateなければinsertっていうのより
一旦レコード全部削除してinsertばっかってやってるのですが
何かまずいことありますか?
調べる処理分時間も短縮されるのでと思っているのですが・・・
0493nobodyさん2006/02/16(木) 16:51:48ID:???
>>491
PHP関係ない
0494nobodyさん2006/02/16(木) 16:51:55ID:???
PHPじゃないじゃんデータベースじゃん
全然ちょっとじゃないよっヽ(`Д´)ノ
0495nobodyさん2006/02/16(木) 16:53:32ID:???
>>492
すごい遅い
0496nobodyさん2006/02/16(木) 16:55:47ID:???
>>492
DBにもよるが、基本的に遅くなる。
詳しく知りたいならDB板行ってくれ
0497nobodyさん2006/02/16(木) 17:01:14ID:???
PHPとは関係ないかも知れませんが、
基本的にどの言語にもある変数や配列といった概念は昔からあるのですか?
0498nobodyさん2006/02/16(木) 17:09:10ID:???
コペルニクスの時代から
04994772006/02/16(木) 17:10:43ID:???
>>480
ありがとうございました。

PHPって勝手にデコードされるのが仕様だったんでしたね。
perlと行ったり来たりの開発でテンパッてました。
0500nobodyさん2006/02/16(木) 17:14:16ID:???
>>495-496
遅くなるのですか・・。
以外ですね。ありがとうございました。
0501nobodyさん2006/02/16(木) 17:37:27ID:???
>>500
消す範囲によるんじゃね?
インデックスの状態に寄るだろうし、
トランザクションではさめばいい場合もあるし
0502nobodyさん2006/02/16(木) 17:54:23ID:???
>>499
PHPじゃなくてApacheとかがデコードすんじゃないのかな。
何でもPHPのせいにするのやめい。
0503nobodyさん2006/02/16(木) 17:58:33ID:???
>>478は言えてたな。
Cでもやってりゃこんなアホな質問繰り返さない。
0504nobodyさん2006/02/16(木) 18:52:42ID:???
>>502
いやPHPだろ
0505nobodyさん2006/02/16(木) 19:19:04ID:???
>>504
今AN HTTPDのログ見たら、ログにはデコードされてなかった。
申し訳ない。
0506nobodyさん2006/02/16(木) 20:50:20ID:ZZ/v8PR0
http://www.geocities.jp/unamuhi/session.gif
↑これはレンタルサーバのphp.iniのセッション管理部分を抜き出した画像です。
このレンタルサーバでセッション管理は使えるでしょうか。
使える場合、なにか制限はあるでしょうか。

よろしくおねがいします。


0507nobodyさん2006/02/16(木) 21:18:47ID:???
>>506
削除されてる
05085062006/02/16(木) 21:30:26ID:???
>>507
ありがとうございました。
0509nobodyさん2006/02/16(木) 21:43:15ID:???
終わりかよ。
0510nobodyさん2006/02/16(木) 21:44:07ID:???
>>491
すげー。こんな奴見たことない。マイ人生のキチガイベスト1にランクインしますた。
0511nobodyさん2006/02/16(木) 22:17:03ID:???
>>506
使える
0512nobodyさん2006/02/16(木) 22:17:23ID:???
>>510
この人、同じ所の別スレで無謀な転職相談して、
コテンパンにされてる…
ってか40歳かよ…ヾ( ´ー`)
05135062006/02/16(木) 22:20:40ID:ZZ/v8PR0
>>507
>>509
あ、申し訳ない。
「削除されてる」というのは設定が削除されていて
セッション管理ができないことだと思ってました。
画像が削除されてましたね。

もう一度よろしくお願いします。
http://www.geocities.jp/unamuhi/sessioon.html
05145062006/02/16(木) 22:26:18ID:???
>>511
ありがとうございました。

なんかバタバタして申し訳ないっす。
0515nobodyさん2006/02/16(木) 22:47:18ID:???
>>512
ワロスwリストラでもされたのかね。人に聞かないと行動できないオジサン。
0516nobodyさん2006/02/17(金) 06:45:05ID:???
     ,へ^;,ヘへ、
     ´`^^i1^v~ヽ
        !|i
        ||゚
      ___」L__&/ヽ、
.:.:./ ̄        ̄\;:...;:.:.:.:.:.:.....:.:.:.........:.:.:.
.:...^.^:ー.:.:.:.:...::.:.:.:..:.:.:^^~.:.:.:.:.::::.:.::^::::... :. :.:.. .:.:
:::::::::::::::::::::::::::::,::::::::::::、::::::::::,::::::::::::....:.:.:......:.:.:....:.:
0517nobodyさん2006/02/17(金) 07:23:56ID:???
オッサンも必死なんだ。
今の日本が悪いんだ!だからオッサンを責めないでやってくれ!
0518nobodyさん2006/02/17(金) 08:44:49ID:???
オッサン、オッサン言うな!
by オッサン
0519nobodyさん2006/02/17(金) 11:30:00ID:???
歳をとると、若いヤツが気に入らなくなるのが人間というものだ。

0520nobodyさん2006/02/17(金) 11:45:07ID:???
ゆとり教育の弊害に違いあるまい
0521nobodyさん2006/02/17(金) 12:34:55ID:???
某サイトのサンプルスクリプトで
class指定の際に変数の型宣言をきっちりしている人がいるのですが、
自動判別にゆだねずあえて宣言するメリットは何なんでしょうか?
0522nobodyさん2006/02/17(金) 12:43:33ID:???
自動判別する処理が削減できる
0523nobodyさん2006/02/17(金) 12:54:47ID:???
>>522
速度に影響します?
0524nobodyさん2006/02/17(金) 12:55:47ID:???
結論から言うと、Cとかから流れて、PHPやってるやつ多いから、
自動判別は気持ち悪くて仕方が無いんだよ。
現場でも「気持ち悪い、気持ち悪い」とか言いながら「便利だよな」で。
0525nobodyさん2006/02/17(金) 12:56:31ID:U6ySh0xX
半角カナから全角カナへの変換スクリプト
ttp://pamo.dip.jp/blog/archives/000119.html

windowsで、c:\piyo\foo以下のディレクトリにある
ファイルに含まれる半角かなを全角カナに変換しようと
思ってぐぐったら、上野サイトがみつかりました。

そこで、上記のサイトの通り、以下のディレクトリを作成し、
beforeの方に、変換したいファイルをごっさり入れました。

c:\piyo\foo\before
c:\piyo\foo\after

そして、上野スクリプトをこう書き換えました。

$r_dir='.;c:\foo\before';
$w_dir='.;c:\foo\after';

ですが、うまく動きません。

何か他に設定すべき所はありますか?
どなたかご教示願います。
0526nobodyさん2006/02/17(金) 13:10:01ID:U6ySh0xX
525です。
質問がわかりにくくすみません。
自己解決しました。
0527nobodyさん2006/02/17(金) 13:48:34ID:???
教えてもらったんじゃに、という意味で自己解決と書くんだろうけど
こんな短時間で自分でミスを発見する程度のものを質問する時点で・・・

結局、 \\ なのか?
0528nobodyさん2006/02/17(金) 13:51:05ID:U6ySh0xX
>>527
はい、そうでしたorz
0529nobodyさん2006/02/17(金) 15:33:48ID:tkJ6TdC2
phpmyadminを安全のためpublic_htmlの外におきたいのですが、
そうするとhttpでアクセスできなくなりますよね。
自分はアクセスできるようにしたいのですが、
なにか良い案などありましたらご教授願えませんか?
よろしくお願いいたします。
0530nobodyさん2006/02/17(金) 15:40:33ID:???
安全の為って、普通に.htaccessでいいじゃん。
0531nobodyさん2006/02/17(金) 16:33:07ID:Jyi+qfsM
質問します。WindNT+Apache+PHP4.4.1です。
PHPでアニメーションGIFを自動生成しようと思い
GDでは出来ないということだったので、
ImageMagick(Windows版)というものを探してインストールしてみたのですが、
使い方がさっぱりわからなくて困っています。
どなたか、ご教示をお願いします。
05325292006/02/17(金) 16:46:16ID:tkJ6TdC2
>>530さん
.htaccessは信頼してもよろしいのでしょうか?
セキュリティーは慎重にいきたいと思ってます。
0533nobodyさん2006/02/17(金) 16:50:29ID:???
>>532
質問の意図が良く分からない・・・;
そんな事言ってたらキリが無いと思ったのは自分だけ?

そこまで気になるなら、httpd.confと.htaccessに書いてIPSTABLEにも書き加えれば流石に大丈夫かと
0534nobodyさん2006/02/17(金) 16:51:30ID:???
>>529
バーチャルドメインは?
0535nobodyさん2006/02/17(金) 16:55:44ID:???
連想配列に入ってるものを伸張したいんだけど
$hoge['A']='aaa';
$hoge['B']='ccc';
$hoge['C']='ggg';

これを "A=aaa&B=ccc&C=ggg" みたいな文字列にしたい

泥臭くループ回せばとりあえずできる・できたんだけど、
格好良く惚れ惚れするコードは書くことが出来るだろうか
0536nobodyさん2006/02/17(金) 16:59:51ID:???
>>535
join() でどうか
0537nobodyさん2006/02/17(金) 17:03:25ID:???
>>536
$s[]="A=aaa";
$s[]="B=ccc";
$s[]="C=ggg";
を作らなきゃやっぱだめ?
0538nobodyさん2006/02/17(金) 17:04:01ID:???
$hoge['A']='aaa';
$hoge['B']='ccc';
$hoge['C']='ggg';
$result = "";

foreach ($hoge as $key => $val) {
$result .= $key . "=" . $val . "&";
}
0539nobodyさん2006/02/17(金) 17:05:00ID:???
>>535
array_walkでどうにかする
0540nobodyさん2006/02/17(金) 17:06:27ID:???
>>538
最後の & がアウアウアー
0541nobodyさん2006/02/17(金) 17:09:40ID:???
$s = array();
foreach( $hoge as $k=>$v ) $s[]="$k=$v";
$str = implode("&", $s);

どうしてもかっこよく出来ない。 $sが必要なのがダサすぎ。
0542nobodyさん2006/02/17(金) 17:27:24ID:???
ereg_replace ("&$", "", $result);
0543nobodyさん2006/02/17(金) 17:28:09ID:???
>>535
http_build_query($hoge);//PHP5 only
0544nobodyさん2006/02/17(金) 17:35:46ID:???
>>543
カッコイイ
05455432006/02/17(金) 17:37:57ID:???
俺も今回初めてこの関数の存在を知った
PHPならひょっとしてと思ってマニュアル見たらやっぱりあったって感じかな
0546nobodyさん2006/02/17(金) 17:53:57ID:???
>>543
すげぇ、ホントにこんな関数あるんだw
でもマニュアルは何故かこの関数だけ英語だな;

それにしてもphpの関数て日々増えてるけど全部把握してる人とかいるのかな・・・
俺は作成するとき関数名調べるのに時々ごっごる先生にお世話になってるけど他の人って大概頭に入ってる?
0547nobodyさん2006/02/17(金) 17:58:47ID:???
<?php
print_r(get_defined_functions());
?>
で、出てきた関数を片っ端から調べてる。
0548nobodyさん2006/02/17(金) 18:00:14ID:???
>>546
日本語だよ
0549nobodyさん2006/02/17(金) 18:13:46ID:???
なんかマニュアルでhttp_build_queryを検索してもエラーが出るんだけどなんでだ・・・?
他の関数だと普通に検索できるんからちょっと気になった。

ぐぐって調べたが便利な関数だな。早速書き換えてやるぜ
05505352006/02/17(金) 18:30:09ID:???
惚れた
すごいなPHP
0551nobodyさん2006/02/17(金) 18:33:25ID:???
>>546
5で新規に追加された関数とか結構英語マニュアルしかないのいっぱいあるよ。
日本語化の中の人も追いつきません。

$hoge['A']='aaa';
$hoge['B']='ccc';
$hoge['C']='ggg';
print $query = join('&', array_map(create_function('$k', 'return urlencode($k)."=".urlencode($GLOBALS["hoge"][$k]);'), array_keys($hoge)));
せいぜいこんなもんだなぁ
0552nobodyさん2006/02/17(金) 18:34:34ID:???
>>546
オンラインリファレンスのカテゴリ一覧か関数一覧のどっちかで大抵見つかってる。
05535512006/02/17(金) 18:45:44ID:???
互換関数を自作するなら多分こんな感じ
function http_build_query($a) {
return join('&', array_map(create_function('$k, $v', 'return urlencode($k)."=".urlencode($v);'), array_keys($a), array_values($a)));
}
print http_build_query($hoge);
0554nobodyさん2006/02/17(金) 18:50:27ID:???
ぐぐっても参考サイトが見つけられなかったので、お願いします。

よく、会員登録フォームなどで「半角英数字4文字以上を入力して下さい」
っと但し書きがありますが、PHPで指定のフォームの文字数が一定値入っていないと
エラーを返すような仕様にしたいと思っています。

登録内容確認ファイルに、正規表現とその個数を書いて、IFで判別するようにしたら
上記の事が可能だとは思うのですが、いまいちどのように記述すればよいかわかりません。

お手数ですが、教えていただければと思います。
0555nobodyさん2006/02/17(金) 18:57:09ID:???
>>554
if(strlen($_POST['input']) < 4 || ! ctype_alnum($_POST['input'])) {
 エラー
}
0556nobodyさん2006/02/17(金) 18:58:22ID:???
strlen($str)<4 ?
0557nobodyさん2006/02/17(金) 19:03:31ID:???
質問の内容がイマイチつかめないが・・・
>登録内容確認ファイルに、正規表現とその個数を書いて
ってどういう意味だ?
正規表現で「半角英数字4文字以上か判別する」なら
if (!preg_match('/^[\da-z]{4,}$/i', $foo)) die;
か?
555の方がいいかも。
にしても、検索しても見つけられないってのは
絶対検索の仕方が悪いだけだと思う・・・・
(もしくは検索結果の内容が理解できていないか)
0558nobodyさん2006/02/17(金) 19:08:27ID:qTAsxSAo
確かに、この内容がgoogleで探せないとしたら
よっぽど検索が下手なんだろうな、って思うよな。
0559nobodyさん2006/02/17(金) 19:15:39ID:X1bnCm1p
>>555
ありがとうございます。この方法で問題なく出来ました。

>>557-558
「PHP 入力チェック」「PHP 文字数チェック」などで探しても駄目でした。
検索下手ですみません。
0560nobodyさん2006/02/17(金) 19:18:09ID:???
PHP 文字数
PHP バイト数
0561nobodyさん2006/02/17(金) 19:34:46ID:???
収まりきらなかったのでこちらに移しています。
http://www.uploda.org/uporg315320.txt

RSSリーダーなんですがindex.phpで設置したのですが動作しません。
何故でしょうか?
鯖はphp対応です。
配布先が分からないのでお聞きしました。
0562nobodyさん2006/02/17(金) 19:57:09ID:???
>>561
まずエラーを晒せよ・・
0563nobodyさん2006/02/17(金) 20:15:24ID:OSq2eJeb
'usernamecol'=>"username",
'passwordcol'=>"password",

外部ファイルのFORMからPOSTで取得したものを代入するには,
usernameとpasswordのところをどう書き換えればよろしいのでしょうか?
ご教授の程、よろしくお願いいたします。
0564nobodyさん2006/02/17(金) 20:17:32ID:???
どこに代入??
0565nobodyさん2006/02/17(金) 20:25:26ID:???
しかし相変わらず「ご教授」が多いな
0566nobodyさん2006/02/17(金) 20:26:03ID:???
>>561

ソース見てコーラ吹いた
それ俺が書いたソースなんだがw

多分1年半前に書いた奴だ
PHP初めて2,3ヶ月程度だったらかなり力技で作ってる奴だから
恥ずかしいんですけどwwww

知り合いに頼まれて作ったものだったんだがそいつが最近自サイトでソース公開してるのを知ってはいたが。。

ttp://sussex.ddo.jp/contents/rss-reader.txt
ttp://sussex.ddo.jp/
0567nobodyさん2006/02/17(金) 20:32:08ID:OSq2eJeb
>>564さんありがとうございます。
左辺にPOSTで受け取ったものを代入したいのです。
0568nobodyさん2006/02/17(金) 20:45:41ID:???
>>562
エラーも何も何も表示されません・・・。

>>566
そうだったんですか。
0569nobodyさん2006/02/17(金) 20:55:24ID:???
>>563
ひとまず
print_r($_POST);
でどうだ

$_POSTでググルって選択肢もある
0570nobodyさん2006/02/17(金) 20:56:33ID:???
>>568
もちろんphpが動作している鯖なんだよね?
05715662006/02/17(金) 20:56:38ID:???
>>568

一番上の<? 〜 ?>を

<?
//$rss_arrayはRSSをするサイトを入れてください、"",で読み込むRDFファイルなどを追加できます。
$rss_array=array(
"http://rss.akiyan.com/rss/googlenews.rss?category=public&link=related"
);

//表示件数を設定並びは上とあわせて。上記のRDFを追加した場合も、数字コンマで追加してください。
$num_array = array(
5
);
?>

これにしてみて動くか?
0572nobodyさん2006/02/17(金) 21:10:26ID:???
>>570
動作している鯖です。
phpのカウンタはしっかりと動作してます。

>>571
やはり無理です・・・。


パーミッションは何も変更しなくていいんですよね。
0573nobodyさん2006/02/17(金) 21:15:27ID:???
<?
↑を禁止してるとか?
<?php にしてみたらどうでしょう。
0574nobodyさん2006/02/17(金) 21:21:12ID:???
>>573
ん〜ダメでした・・・。
0575nobodyさん2006/02/17(金) 21:27:41ID:???
>>563
なんだか意味がよく分からんが
$hoge = array(
'usernamecol'=>$_POST["username"],
'passwordcol'=>$_POST["password"],
);
ってことが言いたいのか?
フォームの内容はどうなってて何て変数に代入させたいんだかさっぱり日本語が分からん。
0576nobodyさん2006/02/17(金) 21:34:54ID:???
>>572
1.
foreach($rss_array as $key => $files){
echo "";
のとこを
foreach($rss_array as $key => $files){
echo "<hr>$files<hr>";
にして何か表示される?
PHPが動作してて組み込みミスしてなきゃURLが表示されるはず。
2.
1でURLが出てくるようなら
$file = file($files);
の次の行に
echo "<pre>".join("",$file)."</pre>";
というのを追加してみてHTMLソースが表示されるかどうか。
これが出てこないならfile()での外部サイトアクセスを禁止してるサーバなので、
そのプログラムでのRSS表示は難しいかもしれない。
0577nobodyさん2006/02/17(金) 21:50:33ID:???
>>576
1と2どちらも成功。
ですが文字化けしてた・・・。
0578nobodyさん2006/02/17(金) 21:56:03ID:???
JpGraphもここで聞いていいか?
05795632006/02/17(金) 21:56:31ID:???
>>575さんありがとうございます。コードはこちらです。
<?php

require_once("Auth/Auth.php");

// Authオプション
$params = array(
'dsn'=>"mysql://username:password@localhost/database",
'table'=>"usermng", // テーブル名
'usernamecol'=>"username", // ユーザ名の列名
'passwordcol'=>"password", // パスワードの列名
'cryptType'=>"md5", // パスワードの暗号化形式
'db_Fields'=>"*", // 他の項目の取得を可能にする
);

$objAuth = new Auth("DB", $params);

// 認証プロセスの開始
$objAuth->start();

if($objAuth->getAuth()) {
echo "ようこそ!" . $objAuth->username . "さん<br>";
// メールアドレスを取得。
echo $objAuth->getAuthData('email');
};

?>

引用(http://www.bnote.net/php/pear/25_auth_db.html)
0580nobodyさん2006/02/17(金) 22:00:24ID:???
>>578
礼節を弁えるのなら許可する
0581nobodyさん2006/02/17(金) 22:19:47ID:???
>>580
('A`)ぅ ラジャ

JpGraphで、Y軸を児童にしてるとき、Yの取り得る範囲が
0〜5とか小さい範囲だと、小数点つきで目盛り振られたり
0.0 0.5 1.0 1.5 みたいになるんだけど、これを整数のみに
したいです。
$graph->yaxis->SetFormat("%d"); みたいにあてずっぽ
でやってみてもダメでした。
なんのプロパティのなにをどうしたらいいかヒントください。
0582nobodyさん2006/02/17(金) 22:48:00ID:???
>>577
まぁ、生ソース表示させたんで中身UTF-8のままだからな。
$file = file($files);
echo "<pre>".join("",$file)."</pre>";
mb_convert_variables("SJIS","UTF-8",$file);

$file = file($files);
mb_convert_variables("SJIS","UTF-8",$file);
echo "<pre>".join("",$file)."</pre>";
にすれば中身見えるんじゃないかな。

しかしそこまで動いてて表示が出ないのか…。
なんだか真面目にロジックの中身をデバッグしなきゃいけない悪寒。
作った本人いるんだからそいつにデータとコード確認させてぇ。
0583nobodyさん2006/02/17(金) 22:52:17ID:???
>>582
変えても

1.
foreach($rss_array as $key => $files){
echo "";
のとこを
foreach($rss_array as $key => $files){
echo "<hr>$files<hr>";
にして何か表示される?
PHPが動作してて組み込みミスしてなきゃURLが表示されるはず。

これしか表示されない・・・。
コードがいけないんすかね?
0584nobodyさん2006/02/17(金) 23:00:40ID:???
textintか。解決しました。
0585作った本人2006/02/17(金) 23:04:04ID:???
ふう
糞ったソースを動かしてみた。

>>561のソースコピペで

$rss_array = array(
"http://rss.akiyan.com/rss/googlenews.rss?category=public&link=related"
);

↑のRSSでは正常動作確認が出来るな。

>>577

適当なファイル名のphpファイル作って
以下のコード動かしてみて

<?php
echo ini_get('display_errors')."<br>";
echo ini_get('error_reporting');
?>

結果を貼り付けれ
0586nobodyさん2006/02/17(金) 23:05:52ID:???

2047

と出た。
0587nobodyさん2006/02/17(金) 23:11:24ID:???
つーかPEARのRSSでも使えばいんじゃね?
■ このスレッドは過去ログ倉庫に格納されています