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

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

■ このスレッドは過去ログ倉庫に格納されています
00019092006/06/23(金) 01:59:03ID:lPdqGX0Z
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

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

過去スレは>>2
0175nobodyさん2006/06/25(日) 16:38:07ID:???
閉めるとか閉めないとか やれやれだぜ
0176nobodyさん2006/06/25(日) 16:54:56ID:???
うう締まる締まる
0177nobodyさん2006/06/25(日) 17:10:02ID:???
さぁ、どんどん閉めちゃうからねぇ
      _((()_ 
     /∴ `ー'|                しまっちゃう!!!
     ゝ.∵ .ミ(゚)_∩∩__
    (∵  <__入 | |__)
    〉∴ ヽ――'  )ω゚)ノ|  | 
   (∵∴ く/⌒) / Д  |  | 
   //、__, /_ノ / ゝ |_| 
 ⊂ノ L| [ ̄ 
0178nobodyさん2006/06/25(日) 17:25:14ID:???
僕の肛門も閉鎖しそうです><
0179nobodyさん2006/06/25(日) 18:15:32ID:???
>>177
それどういうAA
0180nobodyさん2006/06/25(日) 18:41:09ID:???
ここは2ちゃんだ。閉めるんだったらアノ掲示板に行けよ。
0181nobodyさん2006/06/25(日) 20:09:42ID:???
裏2chのことは世間に公表されてないはずだが
01821532006/06/25(日) 20:54:52ID:???
>>158,161,162
ありがと
なんとなく分かったような気がする
0183nobodyさん2006/06/25(日) 21:02:29ID:WzsSuz7K
http://pc8.2ch.net/test/read.cgi/php/1139746974/
ここの、>>67のスクリプトの20行目(全体の23行目)の

$answer = (int)$answer;

の (int) の意味がわからないのですが
phpでも型を明確に宣言することが出来るのですか?
0184nobodyさん2006/06/25(日) 21:04:02ID:???
>>183
http://jp.php.net/manual/ja/language.types.type-juggling.php
01851832006/06/25(日) 21:18:59ID:???
>>184
ありがとう。
こんなことするくらいなら、はじめから宣言したほうが楽な気がしてしまう
私は面倒くさがり屋

それよりも

<?php
$a = "abc"; // $a は文字列
$a{1} = "f"; // $a は"afc"
?>

これを知れたことが大きな収穫でした。
ありがとうございます。
0186nobodyさん2006/06/25(日) 21:44:32ID:???
>>185
必要なときにどっちにでも使える、ってことでしょ。
型宣言ってより型変換と言った方が正しい。
0187nobodyさん2006/06/25(日) 21:51:31ID:???
まぁ、除算(/)した時点で結果がfloatになっちゃうので、
(int)をつけないとおかしなことになっちゃうんだけどね。
0188nobodyさん2006/06/25(日) 22:28:26ID:I0W6MOFz
Symfonyで HelloWorldから教えてくれ。
0189nobodyさん2006/06/26(月) 10:54:28ID:eMFdAlON
fsockopenでssl通信を行いたいのですが、下記のようなスクリプトを組むとワーニングが発生して接続に失敗します

このページを参考にして、
http://php.s3.to/man/ref.openssl.html
php.iniの「extension=php_openssl.dll」をコメントアウトし、
php_openssl.dll、libeay32.dll、ssleay32.dllをPHPフォルダからをWINNT\SYSTEM32にコピーしましたが
うまくいきません

どなたかお詳しい方ご教授いただけないでしょうか

【環境】
Windows2000
PHP4.3.7
OpenSSL 0.9.7e
01901892006/06/26(月) 10:55:17ID:eMFdAlON
【ワーニングメッセージ】
Warning: fsockopen(): no SSL support in this build in c:\apache\htdocs\ssl.php on line 4
Warning: fsockopen(): unable to connect to localhost:443 in c:\apache\htdocs\ssl.php on line 4

【スクリプト】
$header = "GET / HTTP/1.0\r\n";
$header .= "Host: localhost\r\n\r\n";

$fp = fsockopen("ssl://localhost", 443, $errno, $errstr, 30); // ここでワーニング
if (!$fp) {
  echo "$errstr ($errno)<br/>\n";
  echo $fp;
} else {
  fputs($fp, $header);
  while (!feof($fp)) {
    echo fgets($fp, 1024);
  }
  fclose($fp);
}
0191nobodyさん2006/06/26(月) 11:18:27ID:???
>>190
むしろApacheスレ向きの質問じゃないヵ?
01921892006/06/26(月) 11:44:58ID:???
うーん、クライアント側の話なのでこちらのスレでいいと思うんですが
0193nobodyさん2006/06/26(月) 11:49:39ID:???
>no SSL support in this build
ってでているから、PHP が SSL 有効なオプションでビルドされていないんだろう
01941892006/06/26(月) 11:56:30ID:???
なるほど
dllロードすれば使えるもんだと思っていたんですが
自前コンパイルで作るしかないのか、、、Windowsでやるのは情報少なくて難しそうだな〜
0195nobodyさん2006/06/26(月) 12:08:13ID:???
>>192
いやApacheもSSLにする必要があったと思うよ
01961892006/06/26(月) 12:21:04ID:???
あ、サーバー側はssl対応してます(ここでいうlocalhost)
0197nobodyさん2006/06/26(月) 13:29:16ID:???
質問なんですけど。
皆さんがよく使う関数やプログラム文はどんなのがありますか?
0198nobodyさん2006/06/26(月) 13:34:46ID:???
anal_sex();
0199nobodyさん2006/06/26(月) 13:34:52ID:???
>>197
echo
0200nobodyさん2006/06/26(月) 13:59:39ID:???
>>197
exit
0201nobodyさん2006/06/26(月) 14:03:51ID:???
push
0202nobodyさん2006/06/26(月) 14:05:36ID:???
require_once
0203nobodyさん2006/06/26(月) 14:19:34ID:???
>>189
それでいける筈だけどな。
php_openssl.dllをsystem32にコピーしてるのは?だが
"コピー"だから影響ないしね。php.iniでロードしてる
他の拡張は上手くいってるんでしょ。
0204nobodyさん2006/06/26(月) 14:29:16ID:???
>>189
あとSSLのDLLはPHPにバンドルの方を使ってるよね。
02051892006/06/26(月) 14:43:34ID:???
>>203
ご返信ありがとうございます
やり方としてはあながち間違いじゃないんですね、ちょっと希望が持てました

php_openssl.dllをコピーしたのはどっか別のサイトでそんなことが書かれていたからです、、、
他の拡張はうまくいってます(例えばOracleとの接続など

>あとSSLのDLLはPHPにバンドルの方を使ってるよね。
すいません、ちょっと意味がわからないのですが、ssleay32.dll、libeay32.dllはともに
C:\php\dllsからsystem32にコピーしています
0206nobodyさん2006/06/26(月) 14:46:01ID:???
>>198
論外です

>>199
それはあたりまえのように使いますよね
printとechoはどちらのほうが良いのでしょうか

>>200
最近それを使うようになりました。
こんなに便利だとは思ってもいませんでした

>>201
はじめてみました
辞書にも載っていないのですが、どういった関数でしょうか?

>>202
まだ使ったここがありません
requireよりそちらのほうが使えるのでしょうか?

0207nobodyさん2006/06/26(月) 14:48:19ID:???
      _,,...-───‐-:、._
     ト、____.ィ1        `ヽ、 ここはよく釣れる釣堀ですね
  ,:'´ l. ‐- -‐ ,j____,,.-‐;'フ、
  i'  〈`ニ''ニ'フ_ノ         ,r''´  'i
  |   ン--t"          〈    |
.  !、 `) ノ〉 _,,.ィ'''7  ,、 ヘ    y'
   ヽ、 ~'"く/\」 L/ \_〉,.ィ″
    ``''‐-:..,,_____,,::‐''"
0208nobodyさん2006/06/26(月) 14:52:17ID:???
>>205
>php_openssl.dllをコピー
コピー先をextension_dirに指定してるなら、それでも構わない。

>C:\php\dllsからsystem32にコピーしています
PHPバンドルのものを使ってるようなのでOK。

上手くいかないようならPHPのバージョンを替えてみるのも手。
別にPHPのバージョンで違いがあるわけではないんだが、
公式で提供されてるWindows用バイナリーは、提供されてるものによって
ビルド毎の差異が結構あったりするので。
02091892006/06/26(月) 14:57:27ID:???
>>208
なるほど〜、そうですよね
PHP5ならsslもデフォルトで動くということがどっかに書いてありましたので、動くかどうか試してみます

どうもありがとうございました
0210nobodyさん2006/06/26(月) 16:05:39ID:tUdeZDum
DBに接続し、テーブルを作成しようとして:

<?php
$mysql_server   = "mysql5.db.sakura.ne.jp";
$mysql_username = "example_user";
$mysql_passwd   = "example_user_password";

$link = mysql_connect($mysql_server, $mysql_username, $mysql_passwd);
if (!$link) {
   die(mysql_error());
}

$sql = mysql_query("CREATE DATABASE my_db");
if ($sql) {
   echo "テーブルを作成したお";
} else {
   die(mysql_error());
}

mysql_close($link);
?>

このようなスクリプトを作ってみたのですが
「Access denied for user: ?example_user@%? to database ?my_db?」というエラーが返ってきます。

コマンド・ライン端末から
     mysql> CREATE DATABASE my_db;
でも同じエラーが返ります。

何が原因なのでしょうか? DBは「さくらインターネット」のを借りています。
0211nobodyさん2006/06/26(月) 16:08:08ID:???
>>210
example_userに使わせるDBなんて無ぇ!!

って言われております
0212nobodyさん2006/06/26(月) 16:17:56ID:???
それと回答ってよりアドバイス的になるが、必要なテーブルは予め全て作成するべきかな
動的にテーブル作成するWEBアプリは設計的にどうかと。
ssh分からないからってならphpMyAdminだしな
0213nobodyさん2006/06/26(月) 16:20:51ID:???
PHP関連の会社に就職したいのですが、
PHPを扱うにあたってどういうのを作成できれば良いのですか
0214nobodyさん2006/06/26(月) 16:22:03ID:???
>>197
die(">>197");
0215nobodyさん2006/06/26(月) 16:24:48ID:???
>>213
まだ若いのであれば、簡単な掲示板を作れる位でも大丈夫。これからの勉強次第だろう。
0216nobodyさん2006/06/26(月) 16:25:50ID:???
>>210
"CREATE DATABASE"は日本語にすると、"テーブルを作成"なのか?
02172102006/06/26(月) 16:25:59ID:tUdeZDum
>>211
まあ普通に和訳すればそうんですが、こうなる理由がわかりません。
0218nobodyさん2006/06/26(月) 16:26:06ID:???
>>197
htmlspecialchars
strlen
strpos
substr

なんかはよく使うな。
0219nobodyさん2006/06/26(月) 16:27:49ID:???
>>215
来年専門学校卒業(20歳)で、現在はWebデザインの専門学校に通っています。
作品は、簡単な掲示板やチャットなどです。特に大きいものは作れませんけど・・・。
PHPはとても好きなので勉強をする気はあります!
02202102006/06/26(月) 16:31:12ID:tUdeZDum
>>216
./~ヽ  /~~ヽ
.| ‖_∧ゝノ "CREATE TABLE"か…
./ ノ´Д`)/
( ノ   ソ
.ヽ   ヽ
 \   \
  \   \
_ /  _ \_
(⌒Y  / \ \
 ̄\,_/   \,_ノ ̄
0221nobodyさん2006/06/26(月) 16:35:23ID:???
>>219
デザインも出来るのであれば有望だな。
掲示板やチャットが普通に作れるのであれば大丈夫だろう。
0222nobodyさん2006/06/26(月) 16:37:02ID:???
>>219
ただ、「PHP関連の会社」
といっても、PHPだけをやっていればいいって訳じゃないだろうから、
そこんとこだけは注意。
0223nobodyさん2006/06/26(月) 16:37:08ID:???
>>221
デザインは特に自身はないですけどね^^;
就活って自分から行動しなきゃダメなのに、
どうしてもその一歩がなかなか踏み出せないのですよorz
0224nobodyさん2006/06/26(月) 16:38:05ID:???
>>213
PHPはサーバー側の技術だからそれだけじゃあまり使えないでしょ。
CSS,JavaScript望ましくはsql辺りができれば
会社の方も放ってはおかんでしょ。
ついでに言えば、客先に出向いて要件定義が出来て、
デザインも出来れば、鬼に金棒かな。
0225nobodyさん2006/06/26(月) 16:40:27ID:???
>>223
昔の漏れみたいだな。
漏れの頃はPerlを勉強して、一般的な掲示板を作れるようになって、
それでweb製作会社に入ったよ。
その後、PHP、VB、C++など覚えていった。

自作のスクリプトのURLを前もってメールで送るとか、がんばろう。
0226nobodyさん2006/06/26(月) 16:51:20ID:???
>>224
PHPを使いこなす力があれば、CSS, JSやSQLなどすぐだろう。
プログラマはデザイン力に劣る傾向があるので、
デザイン力があれば強い。webプログラミングは、HTMLに表示させる部分とは切り離せないからだ。
客先との折衝もできれば、将来はかなり有望といえるだろうな。
0227nobodyさん2006/06/26(月) 16:53:01ID:???
CSS、JS はブラウザ依存があるしメチャ面倒だけどな
0228nobodyさん2006/06/26(月) 16:56:36ID:???
>>227
昔は、IE、NetScapeで確認してたけど、
今はIEでしかみてない(・ω・)
0229nobodyさん2006/06/26(月) 17:06:41ID:???
>>210
たぶんさくらの共有はDBを使うぜって設定すると自分の「データベース」は出来ている。
それ以外で「データベース」を作成することは出来ないと思う。telnet使えるんだから権限を確認してみる。
マニュアル見てみれ。
http://support.sakura.ad.jp/support/manual/rs/install_2.shtml
0230nobodyさん2006/06/26(月) 19:14:16ID:yNRsQBsS
PEARのAuthを使ってHTTP認証を行おうとしています。

ユーザが所属するグループのIDとユーザのパスワードで承認を
行おうとしているのですが、パスワードが1件目のユーザでNGと
なった時点で認証失敗で終了してしまいます。

Authを使用して同じIDの全パスワードをチェックする方法は
ありませんでしょうか。

#今考えている方法は、「自力でチェックしてAuth_Anonymousを
#使用する。」か「Auth::loginをオーバーライドしてチェック」
#なのですが、可能であればAuthで提供されている機能のみで
#解決したいです。。。
0231nobodyさん2006/06/26(月) 21:57:47ID:???
>CSS、JS はブラウザ依存
面倒だよねー
phpは純粋に楽しみながらできる
02322302006/06/26(月) 22:06:35ID:???
>>230
自己レスです。
fetchDataをオーバーライドして解決しました。
0233nobodyさん2006/06/26(月) 22:41:50ID:???
ショッピングカートを作るのにセッションは絶対に必須ですか?
PHPやっていてセッションを使ったことがなかったので・・・
02342332006/06/26(月) 22:57:59ID:???
自己レスです。
とりあえずセッションの勉強をしてみます。
そしてそれがショッピングカートに必要か検討してみます。
なんでもかんでも聞くのは失礼な質問して申し訳ありません。
0235nobodyさん2006/06/26(月) 23:07:14ID:???
>>234
面白くないのでやめてください。
02362332006/06/26(月) 23:09:32ID:???
すいません、初歩的以前の質問でしたね。以後質問には気をつけてます…
0237nobodyさん2006/06/26(月) 23:51:53ID:???
perlでのDprof, SmallProfみたいなプロファイラは、ありますか?

GoogleでPHP プロファイラで検索しても出てこないようです。
よろしくお願いします。
0238nobodyさん2006/06/26(月) 23:56:38ID:???
知らないことに対して教わる敬意は表してください。質問者としてIDだすのは、回答者に対しての礼儀です。
0239nobodyさん2006/06/26(月) 23:58:26ID:AIwNfLy+
age進行なんてめずらしいスレですね。
ID出してもう一度質問させていただきます。

perlでのDprof, SmallProfみたいなプロファイラは、ありますか?

GoogleでPHP プロファイラで検索しても出てこないようです。
よろしくお願いします。
0240nobodyさん2006/06/26(月) 23:59:55ID:???
初心者系質問スレはどこの板でも大抵はage進行だよ。初心者呼ぶために。
それに対して、初心者に来て欲しくないスレをsage進行にする。
0241nobodyさん2006/06/27(火) 00:01:59ID:???
>>240
さんくす。
何年も2chにいて知らなかった orz...
ageるとたたかれるものかと思っていた.
スパムなどの書き込みが多いからって聞いたけど、ウソだったのかー うわーん
0242nobodyさん2006/06/27(火) 00:16:45ID:???
お前らこういう関数作ってくれ

引数として 「俺」
実行すると返り値として「彼女」

頼む!お前らなら出来るはずだ!!
0243nobodyさん2006/06/27(火) 00:22:30ID:???
ほらよ
function Morocco($man)
0244nobodyさん2006/06/27(火) 00:24:57ID:???
func_242("俺");

function func_242($man) {
return "彼女" or die("無理!");
}
0245nobodyさん2006/06/27(火) 01:13:35ID:???
初めまして。少しわからないところがあるので質問してみます。
$_SESSION['name'] = "田中";

別ページに移動して、

echo $_SESSION['name'];

としても何も表示されません。
どうやって別のページにセッションデータを移すのでしょうか?
0246nobodyさん2006/06/27(火) 01:15:06ID:???
俺がちょっと前に質問したのと同じだなw

別ページの方でもせっしょんすたーと

書かないとだめなんだってよ
0247nobodyさん2006/06/27(火) 01:18:50ID:???
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
0248nobodyさん2006/06/27(火) 01:20:22ID:???
>>247
少しは自分で調べろ。それは FAQ だ。
0249nobodyさん2006/06/27(火) 01:22:12ID:???
スペースかなー
0250nobodyさん2006/06/27(火) 01:23:31ID:???
>>248
一番最初に書かないといけないのですね
解決しました。
0251nobodyさん2006/06/27(火) 09:44:49ID:???
>>242

function GetRateStedy($man){
  if (rand(255) == 77){
    return '彼女';
  } else {
    return '一生童貞';
  }
}
0252nobodyさん2006/06/27(火) 10:01:45ID:???
>>237
xdebug
ただ、Dprofみたいなプロファイラではないが
0253nobodyさん2006/06/27(火) 10:15:53ID:???
>>242

function GetRateStedy($man){
  if ($man != ">>242"){
    return '彼女';
  } else {
    return '一生童貞';
  }
}
0254nobodyさん2006/06/27(火) 11:56:15ID:???
PHPとMySQLで名簿を作っています。
フォームからあるメールアドレスと名前・住所などが送信されたときに、
そのメアド(主キーです)がDBに存在しなければINSERT、
既に存在しているならUPDATEというSQLを投げたいと思います。

これを実現するにはあらかじめフォームから来たメアドをWHERE句に入れてまずSELECTしてみて、
結果がエラーとなるかどうかを調べておき、
その結果をもとにINSERTにするかUPDATEにするかを条件分岐させる方法しかないでしょうか?
0255nobodyさん2006/06/27(火) 12:41:47ID:???
>>254
ない

adodb なんかは、それを自動的にやってくれるメソッドを用意しているが
内部的には同じようなことをやっている
0256nobodyさん2006/06/27(火) 12:47:29ID:???
>>254
REPLACE構文を調べてみれ。
http://dev.mysql.com/doc/refman/4.1/ja/replace.html
SELECTしてからINSERT OR UPDATEとは動きが違うので注意
0257nobodyさん2006/06/27(火) 13:12:43ID:???
一回DELETEしてからINSERT
0258nobodyさん2006/06/27(火) 13:41:32ID:KxN4Ul2M
SQLServer+ASPから、SQLServer+(ODBC)+PHPに移行してるんですが、
LONG BINARY(OLE Object)のデータの出力方法が分かりません。

ASPのGetChunkみたいなので、少しずつ取ってくるようなイメージはあるんですが、
SQLServer+PHPだと、どんなメソッドを使えばいいんでしょうか?
0259nobodyさん2006/06/27(火) 13:43:33ID:???
>>257
トランスフォームを忘れずにな
0260nobodyさん2006/06/27(火) 14:29:36ID:???
>>257

DROP TABLEを忘れずに
0261nobodyさん2006/06/27(火) 15:09:04ID:???
それじゃ
DROP DATABASEも忘れずに
0262nobodyさん2006/06/27(火) 15:10:42ID:???
だったら
MySQLのアンインストールも忘れずに。
0263nobodyさん2006/06/27(火) 15:19:44ID:???
だったら、
OSのアンインストールも忘れずに
0264nobodyさん2006/06/27(火) 15:21:23ID:???
ttp://php.s3.to/bbs/temp/ibbs.php
レッツPHPの掲示板のログを、flockの処理のあやまりを突いて壊してきましたよ
0265nobodyさん2006/06/27(火) 15:33:57ID:7osXzbuk
264
厨
0266nobodyさん2006/06/27(火) 16:45:39ID:???
どうせ管理してないんでしょ
0267nobodyさん2006/06/27(火) 16:50:10ID:???
さっそく、海外からのURLの書き込みで流れだしている模様です。
0268nobodyさん2006/06/27(火) 16:54:30ID:EpsxO8/5
自作でBLOGのPING送信ツールを作成しております。
色々なBLOGの本を読みますと、XML-RPC関数を使えとありますが、私の使用しているサーバーでは
PEARを使えない為、fsockopen関数で作ってみました

例えばping.myblog.jpに送信する場合は、
$fp = @fsockopen("ping.myblog.jp",80, $errno, $errstr, 30);
fputs ($fp, "POST / HTTP/1.1\r\n");
fputs ($fp, "Host: 送信元サーバーのドメイン\r\n");
fputs ($fp, "User-Agent: PHP/".phpversion()."\r\n");
fputs ($fp, "Content-Length: PING用XMLの文字バイト数\r\n");
fputs ($fp, "Content-Type: text/xml\r\n");
fputs ($fp, "\r\n");
fputs ($fp, PING用XML本文);
fputs ($fp, "\r\n");

これで送信した結果、HTTP/1.1 200 OKが帰ってきまして、特にエラーメッセージは出ないのですが、
反映されません。
ヘッダー自体がおかしいのでしょうか?
何かご指摘ありましたら、ご教授頂けると幸いです。
0269nobodyさん2006/06/27(火) 17:06:12ID:???
>>264
漏れがテスト投稿してみたらさらに変になってしまったぞ!
0270nobodyさん2006/06/27(火) 17:11:00ID:???
>>268
で、そのレスポンスの本文はどんな内容になってる?
それを読んでみたまえ。
0271nobodyさん2006/06/27(火) 17:15:20ID:EpsxO8/5
>270

反応有難うございます。

HTTP/1.1 200 OK Date: Tue, 27 Jun 2006 08:11:57 GMT Server: Apache Connection: close Content-Type: text/xml; charset=EUC-JP flerror 0 message Thanks for the ping.

こういったレスポンスが返って参りました。
しかし、何分経過しても更新記事リストに表示される気配はありませんでした。
0272nobodyさん2006/06/27(火) 17:21:24ID:???
>>271
レスポンスヘッダーじゃなく、本文の方だよ。
0273nobodyさん2006/06/27(火) 17:23:13ID:???
fputs ($fp, PING用XML本文);
fputs ($fp, "\r\n");
fputs ($fp, "\r\n");
じゃだめなのか?
0274nobodyさん2006/06/27(火) 17:46:40ID:EpsxO8/5
>>271
すみません、勘違いしてしまいました。
<?xml version="1.0" encoding="UTF-8"?>

<methodCall>

<methodName>weblogUpdates.ping</methodName>

<params>

<param>

<value>ブログタイトル</value>

</param>

<param>

<value>ブログのURL</value>

</param>

</params>

</methodCall>
このような形になります。


>>273
有難うございます。
そちらも今、試してみましたが、やはり反映されませんでした。
■ このスレッドは過去ログ倉庫に格納されています