【PHP】下らねぇ質問はここに書き込みやがれ 30
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/10/05(木) 01:38:25ID:y1WWhz/pまず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0234nobodyさん
2006/10/10(火) 15:12:57ID:VCBK9AiMでも全然分かりません…
親切な方、いらっしゃったら教えてください
画像は365枚あります。
0235nobodyさん
2006/10/10(火) 15:33:44ID:???<img src="hair_<?php printf("%03d",date("z")) ?>.jpg">
0236nobodyさん
2006/10/10(火) 15:47:46ID:???0238nobodyさん
2006/10/10(火) 16:47:44ID:???0239nobodyさん
2006/10/10(火) 17:02:05ID:???何も危ないのはアダルトだけじゃないよ。
価格.com事件のようなのもあるしね。
0240nobodyさん
2006/10/10(火) 17:03:09ID:???てぶ鯖は・・・
♪誰でもどんなファイルでもアップロード可能!!
♪アップロードされているファイルは誰でもいくらでもダウンロード可能!!
♪たくさんアップロードした人にはなんと抽選でプレゼント!!
だからみんなで楽しく使っちゃおう!!
ftp://tebukuro.ath.cx
User:anonymous
password:メールアドレス
++++*******てぶ鯖********++++
0242nobodyさん
2006/10/10(火) 17:51:02ID:VCBK9AiMありがとうございました!!なんとか出来ました!
0243nobodyさん
2006/10/10(火) 19:27:44ID:HtJUF5F+このような配列が有る場合に
000は何個
111は何個
222は何個
と配列の中身をカウントする方法は有りませんでしょうか?
0245sage
2006/10/10(火) 19:57:14ID:???下記のように文字化けします。
心当たりありませんか?
?¢?¢?¢?¢?¢
とか
\???\?\£
0246nobodyさん
2006/10/10(火) 20:16:03ID:HtJUF5F+ありがとうございます。
理解出来ませんでした。
もう少し優しいやり方はないでしょうか?
0247nobodyさん
2006/10/10(火) 20:30:23ID:???244じゃないけどそれが理解できなかったら他の方法も無理なんじゃないかな。
これ以上ないくらいに分かり易く説明してくれてるのに。
決して難しくないから頑張って理解してみるといいと思うよ。
@要素を1個取り出す
Aarray_diffをかける
B減った個数を調べる
順を追って解決していくといいよ。
別な方法としては
$aの要素をキーとする新しい配列を作り、1つ要素があるごとにそのキーの値を1増やす。
これを$aの全ての要素について行う。
0249nobodyさん
2006/10/10(火) 20:34:22ID:???$a = array('111', '000', '222', '222', '000', '222', '888', '426', '222');
foreach ($a as $value) {
if (!isset($b[$value])) {
$b[$value] = 1;
} else {
$b[$value]++;
}
}
print_r($b);
前にもやったぞこれ。
0250nobodyさん
2006/10/10(火) 20:39:20ID:???0251nobodyさん
2006/10/10(火) 20:54:22ID:???つーか、array_count_values($a)で一撃だと思うんだが。
250みたいな問題が起こる可能性があるなら、値を全部serializeすればいいと思う。
0252nobodyさん
2006/10/10(火) 21:02:05ID:HtJUF5F+こんだけ時間掛けてやっと実行出来たのがこれなのですが
問題等ありますでしょうか?
<?php
$a = array('111', '000', '222', '222', '000', '222', '888', '426', '222');
$a2=array_unique($a);
foreach ($a2 as $a2_num => $aaa) {
foreach ($a as $a_num => $aaaa) {
if ($a2[$a2_num]==$a[$a_num]) {
$cnt[$a2_num]=$cnt[$a2_num]+1;
}
}
$a_cnt[$a2[$a2_num]] = $cnt[$a2_num];
}
while(list ($key, $val) = each($a_cnt)) {
print (" $key は、$val 個です<br>\n");
}
?>
0253nobodyさん
2006/10/10(火) 21:10:21ID:???serializeって…こうか!
array_count_values(array_map('serialize', $a));
目から鱗w
0254nobodyさん
2006/10/10(火) 21:21:17ID:???凄いですね
$a = array('111', '000', '222', '222', '000', '222', '888', '426', '222');
$b = array_count_values($a);
while(list ($key, $val) = each($b)) {
print (" $key は、$val 個です<br>\n");
}
数行で同じことが出来ました。
>>252と比べると非常に情けないです・・・・
025571
2006/10/10(火) 22:44:48ID:???同一Windowsマシン上でApache + PHP & SQL Serverをうごかして、
PHPからSQL Serverのデータを取ってくる際、
odbc_connectやmssql_connectで出力エンコーディングを
指定することはできないのでしょうか?
いろいろ調べましたが、エンコーディングを設定するということができないようです。
FreeTDSのodbc.iniには書けるようですが、Linux用のドライバですし〜や@は化けるようです。
以下のようにCOMを使ったらできたんですが重いです。
$conn = new COM("ADODB.Connection", NULL, CP_UTF8);
$conn->Open("Driver={SQL Server};Server=servername;Uid=user;Pwd=passwd;Database=databasename");
なんというか、こんなやり方でしか、エンコーディング指定できないというのは、
かなり信じられないんですが・・・本当に困ってます。
何か知っている人がいたらご教授ください。
0256nobodyさん
2006/10/10(火) 23:14:34ID:UY1nIn3b全て求めたい:
例: 00, 01, 02, …… 98, 99, …… 0a, 0b, 0c, …… 9x, 9z
数字のループは分かるんだけど、文字列のループはどうすれば出来るのかな?
for ($i = 0; $i < 99; $i++) {
echo $i;
}
0257nobodyさん
2006/10/10(火) 23:16:53ID:UY1nIn3b(int 0-9)と(str a-z)の組合せで出来る二文字のパターンを、ループ処理で
全て求めたい
0258nobodyさん
2006/10/10(火) 23:34:23ID:???echo chr($i);
}
0259nobodyさん
2006/10/10(火) 23:41:28ID:???echo base_convert($i,10,36);
}
0260nobodyさん
2006/10/10(火) 23:55:07ID:UY1nIn3b0261nobodyさん
2006/10/11(水) 00:03:42ID:???0-9、a-z、A-Zでは?
0262nobodyさん
2006/10/11(水) 00:16:16ID:???foreach(range('a','z') as $n){
$a[] = $c.$n;
}
}
print_r($a);
---
ところでこれだとなんでzzまで出ちゃうんだ?
for($i='a';$i<='z';$i++){
echo $i;
}
0263nobodyさん
2006/10/11(水) 00:18:11ID:???function jump(&$i) {
if ($i == 58) $i = 65;
elseif ($i == 91) $i = 97;
}
for ($i=48; $i<=122; $i++) {
jump($i);
for ($j=48; $j<=122; $j++) {
jump($j);
echo chr($i).chr($j);
}
}
0266nobodyさん
2006/10/11(水) 00:27:32ID:???foreach($a as $b){
foreach($a as $c){
foreach($a as $d){
$aa[] = $b.$c.$d;
}
}
}
print_r($aa);
0269nobodyさん
2006/10/11(水) 02:22:14ID:8Czx1vGv(実際は1行ずつ改行されてます)
上記のようなユーザーエージェントがある場合に
機種名だけを切り取りたいのですが
うまくやる方法はありませんでしょうか?
お手本ありましたらお願いいたします。
0270nobodyさん
2006/10/11(水) 07:06:40ID:???機種名というのは携帯電話端末の?
ユーザーエージェントの識別名は、クライアント側の自己申告なので
難しいと思う。まず各メーカーの仕様書を見ろ。
$lines = file ('filename.txt');
foreach ($lines as $line) {
$result = str_word_count ($line, 1);
echo "{$result[0]}<br>\n";
}
ほとんどのユーザーエージェントは、機種名を識別名文字列の最初に持って来ているので
これで取得出来ると思うが……。
0272nobodyさん
2006/10/11(水) 08:00:11ID:???フレームワーク使うからurlが変わっちゃいます。
いままでのurlには末尾に.htmがついていたのですが、
フレームワークのurlには.htmがついていません。
.htm 付のurlでアクセスがあった場合.htm なしのurlに
転送できるのでしょうか。
0273nobodyさん
2006/10/11(水) 08:25:09ID:???トップだけでいいなら元々のHTMLと同じ名前のHTMLを1個置いといて
中に
<?php Location("http://フレームワークなサイトのURL/"); ?>
って1行仕込んどくだけでいいと思うけど。
0274nobodyさん
2006/10/11(水) 08:37:40ID:???0275nobodyさん
2006/10/11(水) 09:46:15ID:???ありがとう。
0276nobodyさん
2006/10/11(水) 10:11:16ID:???0278nobodyさん
2006/10/11(水) 12:35:16ID:???ありがとう。
0279nobodyさん
2006/10/11(水) 12:41:52ID:???0280nobodyさん
2006/10/11(水) 12:57:14ID:i80IIJil言われるんですが、使わない方がいい理由って何かあるんでしょうか?
0281nobodyさん
2006/10/11(水) 13:20:32ID:???「instanceof演算子を使って下さい」
0282nobodyさん
2006/10/11(水) 13:24:57ID:???お前も日本語読む努力をしようよ。
「何故、これが非推奨になってるのか」を聞いてる質問だろ?
これが非推奨でinstanceof演算子を使えといわれてることは
質問者はすでに理解してるんだよ。その理由を聞いてんの。
0284nobodyさん
2006/10/11(水) 13:39:48ID:???PHP5で演算子化(instanceof)されてより効率がよくなったから。
わざわざ関数を通してオーバーヘッドを増やすのはナンセンス。
0285nobodyさん
2006/10/11(水) 13:47:02ID:P+AC1Js6愛猫の動画を365日自分の携帯用ホームページに表示したいです
365本の動画はすでに1〜365まであります
教えてくださる方、お願いします。
0286280
2006/10/11(水) 13:49:42ID:i80IIJilありがとうございました。
283は私じゃありません。
0287nobodyさん
2006/10/11(水) 13:53:04ID:???動画が http://exsample.com/movie1.mpg 〜 http://exsample.com/movie366.mpg
というURLになってるとして(閏年を考えたら366本必要だよ)
サイトからのリンク
<a href="movie.php">今日の動画</a>
movie.php
<?php Location("http://exsample.com/movie" . (date("z") + 1) . ".mpg"); ?>
とすりゃいいんじゃないの。
0291nobodyさん
2006/10/11(水) 14:30:03ID:???0292nobodyさん
2006/10/11(水) 14:56:54ID:???どうやらCGIプログラムを使うといいらしいのですが、
CGIについてまったくのド素人なため、1から作るというのが難しい状況です
お勧めのフリーCGIプログラムがありましたら教えてください
0295nobodyさん
2006/10/11(水) 15:20:56ID:???いいのでしょうか?getimagesizeで縦や横のサイズが500以上だったら300に
する、みたいなことはできたのですが、それだと、元の画像の縦横サイズが
変わってしまいます。縦が小さくなったら、同じ比率分だけ、横も
縮小させたいのです。どうか宜しくお願いします。
0296nobodyさん
2006/10/11(水) 15:28:02ID:???ありがとう。
0297nobodyさん
2006/10/11(水) 15:32:22ID:???小学校からやり直す?
$length = 200;
$size = getImageSize($targetfile);
if($size[0] > $length){
$width = $length;
$high = $size[1] * $length / $size[0];
}else{
$width = $size[0];
$high = $size[1];
}
0298nobodyさん
2006/10/11(水) 15:45:28ID:???http://masago.kir.jp/php20040218.php
No29.大きさを変えようっ(サムネイル) ---- GDライブラリ[3]
離れPHP島のサンプルは参考になりますね!
便利☆便利(^^)v
0299nobodyさん
2006/10/11(水) 15:50:48ID:???ありがとう。
0301nobodyさん
2006/10/11(水) 16:39:42ID:WiH1H+/l対応する $_POST[] の中身って何になりますか?
0303nobodyさん
2006/10/11(水) 16:47:25ID:WiH1H+/l何も記入されていない状態、と、
普通は捉えてもらえると思いましたがorz
0305nobodyさん
2006/10/11(水) 17:00:10ID:WiH1H+/l>>304
お手数おかけしました…
0306nobodyさん
2006/10/11(水) 17:00:51ID:???ありがとう。
0307nobodyさん
2006/10/11(水) 17:05:36ID:WiH1H+/lVBとは違って、= は代入、 == が比較だぞ!orz
0309nobodyさん
2006/10/11(水) 17:17:32ID:a92Vtxiqhttp://jp.php.net/manual/ja/function.fopen.php
オープンが失敗すると、関数は FALSE を返し、 E_WARNING レベルのエラーを発行します。
とのことですが、プログラム側で失敗した原因を知る方法はありませんか?
0310285
2006/10/11(水) 17:28:29ID:P+AC1Js6>>287さんのやり方で
<html>
<body>
<div align="center">
<a href="movie.php">今日の動画</a><br>
</div>
</body>
</html>
でmovie.phpを
<?php location("http://example/movie/" . (date("z")) . ".amc"); ?>
としましたが
Fatal error: Call to undefined function: location() in /home/virtual/site42/fst/var/www/html/movie.php on line 1
のエラーが返ってきてしまいます
ちなみに見る方がおばさんばかりなので、携帯用動画(3gp amc)しかありません
親切な方、よろしくお願いします
0311nobodyさん
2006/10/11(水) 17:35:30ID:WiH1H+/l0312nobodyさん
2006/10/11(水) 17:35:48ID:???http://jp.php.net/manual/ja/function.header.php
movie.php
<?php header("Location: http://example/movie/" . (date("z")) . ".amc"); ?>
じゃないのか?
0314nobodyさん
2006/10/11(水) 17:37:14ID:WiH1H+/l一行目は余分なんです(´;ω;`)
0316nobodyさん
2006/10/11(水) 17:41:34ID:WiH1H+/l…!! これは!!!
吊ってくる。
0318nobodyさん
2006/10/11(水) 17:48:37ID:???ありがとう。
0322nobodyさん
2006/10/11(水) 20:25:52ID:???コーティング規約とかによるのかもしれませんが、
PHPにおける、変数名、定数名、クラス名、関数名のつけ方は、
業務ではどのような感じでつけていますか?
頭に大文字、全て小文字、アンダースコアで繋ぐなど。
Hogehoge hogehoge hoge_hoge HogeHoge等・・・
0323nobodyさん
2006/10/11(水) 20:36:38ID:???アンダースコアって使うのかなあって感じですが。
個人的にはクラス姪は HogeHoge, instantiateしたのは hogeHogeが好きだけど
0324309
2006/10/11(水) 20:52:44ID:VRU7wb5kううむ、厳しいですね。ありがとうございました。
0325nobodyさん
2006/10/11(水) 21:04:51ID:???ありがとう。
0326nobodyさん
2006/10/11(水) 21:19:21ID:???Namespace_Package_ClassName_Etc
$variable_name or $variableName
$property_name or $propertyName
$_private
functionName()
methodName()
0327nobodyさん
2006/10/11(水) 21:58:43ID:???100個くらいになるとかなり時間がかかる。
これを改善する方法は無い?
0328nobodyさん
2006/10/11(水) 22:14:40ID:qjuz9ghDの2chbbsのスクリプトを携帯用のDOCOMOのutn取得改造しようと思い
http://script.s16.xrea.com/2ch/test/read.php/php/1048578946/193-292
の257−260どうりにやったら263の人と同じく
【ERROR:末端情報を送信してください】
になりました
これどうしたらいいですか?
サポ番で教えてくれないんで・・・
0329nobodyさん
2006/10/11(水) 22:15:20ID:???それにホスト名はとりにいってるからね
0330nobodyさん
2006/10/11(水) 22:31:58ID:???ありがとう。
0332nobodyさん
2006/10/11(水) 23:26:06ID:???その場でやらずに事前に変換しとくくらいしかないのでは…
それともローカルでDNSサーバー立ててそいつとプライベートで通信すれば
少しは速度向上できるのかな。
■ このスレッドは過去ログ倉庫に格納されています