【PHP】くだらねぇ質問はここに書き込みやがれpart4
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
05/03/13 16:08:32ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
0377nobodyさん
皇紀2665/04/01(金) 10:43:05ID:???//処理。
}
で、少しスマートな感じ
0378nobodyさん
皇紀2665/04/01(金) 10:49:59ID:???if (is_array($array) and count($array)) {
とする必要あり?
0380nobodyさん
皇紀2665/04/01(金) 11:18:18ID:???$array = array();
と宣言してるんだから
is_array($array)はいらないだろ
>>377が>>379より意味がわかりやすくていいんじゃないの
0381nobodyさん
皇紀2665/04/01(金) 11:31:55ID:???>これがスマートなやり方かどうかわからないから聞いてみたんですが…
同じことやん。
0382nobodyさん
皇紀2665/04/01(金) 11:36:25ID:AcRtwYxMなどのデータを、一括で
$hogeに入れ直す関数ってありましたよね…?
教えてください。
0384nobodyさん
皇紀2665/04/01(金) 11:49:16ID:AcRtwYxMこれです!
ありがとう!
0385nobodyさん
皇紀2665/04/01(金) 12:42:37ID:???.htaccessで制限かけるのですか?
エロイ人教えてください
0387nobodyさん
皇紀2665/04/01(金) 16:50:32ID:???画像とか、太字とかが反映されてるのはどういった技術を使ってるんでしょうか?
適切なスレッドが分からなかったのでとりあえずここで質問しました。
0388nobodyさん
皇紀2665/04/01(金) 17:03:35ID:???CGIを多数設置した場合、それぞれ同じディレクトリにjcode.plがあって
容量を圧迫するので、一つ上のディレクトリにjcode.plを置き
各CGIから読み込ませても平気ですか?
それともやはり、一つ一つ同じディレクトリにjcode.plを置いた方がいいのでしょうか?
0389388
皇紀2665/04/01(金) 17:05:34ID:???他のスレで聞いてきます。
0390写
皇紀2665/04/01(金) 17:53:47ID:wSz0R7paどなたか期限切れてないの知りませんか?
0392nobodyさん
皇紀2665/04/01(金) 20:26:04ID:???cvsからロゴを引っ張ってくるとこんな感じになってる。
リビジョン ロゴ PHPver.(ブランチ)
1.5 おっさん
1.6 茶犬
1.6.2.1 黒犬 4.3
1.7 茶犬
1.8 茶犬
1.9 うさぎ
1.10 .うさぎ
1.11 .うさぎ
1.12 .うさぎ 5.0
1.12.2.1 .黒犬 5.0
1.13 .黒犬
やった手順は、
ttp://cvs.php.net/php-src/main/logos.h から各リビジョンのファイルをDLしてきて、
PHPの配列風に手作業で加工 ($php_egg_log = array( 〜 )の形式)。
gif画像の1バイトごとの値を10進数で書いてあるので、
for($i=0;$i<count($php_egg_log);$i++){ $data .= pack("c",$php_egg_logo[$i]); }
てな感じにして、$data をバイナリで保存。
0393nobodyさん
2005/04/03(日) 01:40:23ID:???[0] => Perl
[1] => C
[2] => PHP
)
という配列を、
$array = (
[0] => PHP
[1] => C
[2] => Perl
)
と、"PHP" を一番上にした配列に組みなおしたいのですが、どうすればいいんでしょうか。
0394nobodyさん
2005/04/03(日) 02:05:44ID:???「PHPを一番上にした配列」というのは他にも幾つか考えられるけど、
それらのうち PHP C Perl の順になるのは何か条件があるの?
PHP Perl C の順になる場合もあるよね。
要素数n個の配列だと (n-1)! 個のパターンがあるような。
0395nobodyさん
2005/04/03(日) 03:38:42ID:???while ($line = readline($text) ) {
ほげほげ;
}
とかしたい。
0396nobodyさん
2005/04/03(日) 04:30:24ID:???標準入出力
GPLのreadlineをPHPライセンスのPHPとリンクするのはけしからん、
という話であればBSDライセンスのlibeditというものがある。
0397393
2005/04/03(日) 09:12:02ID:???配列からPHP を一度削除して、配列の一番上に入れたいだけで、特に以下(Perl,C)の配列の位置は問いません。
0399nobodyさん
2005/04/03(日) 09:43:18ID:IY142z6m【一攫】解けたら賞金300万円のクイズ【千金】
http://game9.2ch.net/test/read.cgi/bgame/1107733523/
0400nobodyさん
2005/04/03(日) 11:54:58ID:EIV0TS0dものを作るにはどうすれば良いんですか?
一時期話題になった「タキビ」の動けるのを設置したいんですが…
0401nobodyさん
2005/04/03(日) 12:12:46ID:K0aP+PxK移動の意味わからんがなー
IRCでも使えば良いんでない?
移動の意味わからんけど
0402nobodyさん
2005/04/03(日) 21:18:09ID:???クライアント側の動作がhtmlだけでは対処できない場合はflash等のActiveXやアプリケーションを使う事になる。
同様に鯖側の動作もhttpだけで対処できない場合はsocketを張ったままでデータのやり取りをする事もある。
どういう仕組みを使えば自分のやりたい事を実現できるかをまず調べてみれ。
0403nobodyさん
2005/04/03(日) 22:49:40ID:MM89HE2Pどうにも動かないので、助けてください。
フォームで、セレクトフィールドこんな感じ↓で作って
<select name="kazari">
<option values="0"></option>
<option values="1">ピアス</option>
<option values="2">イヤリング</option>
<option values="3">指輪</option>
<option values="4">へそ用</option>
<option values="5">鼻用</option>
<option values="6">その他</option>
</select>
0404403です続きです
2005/04/03(日) 22:50:06ID:MM89HE2PBのPHPファイルないで、受け取った$_POST['kazari']
の値によって、一覧表示するMySQLのテーブルを変更させたいのです。
if($_POST['kazari'] == '1'){
$stt = "SELECT * FROM syouhin,kakaku WHERE syouhin.id = kakaku.id
AND syouhin.no =".$_POST['kazari']."ORDER BY syouhin.name";
}elseif(略
$res = mysql_query($stt, $conn);
while($row = mysql_fetch_arry($res)){
print(略)
syouhin.no = の後ろに、1とか2などの数字を入れて試して
見た時は、ちゃんと選択されるのですが、変数を入れようとすると
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
というエラーが出るのです。
どうかご指導よろしくお願いいたします
0406403です
2005/04/03(日) 23:17:24ID:MM89HE2Pすみません。質問がまわれくどかったですよね。
ええと、SELECT文のなかに、変数を入れたいのですが、
>>404の方法しかわからなくて、回避策を教えて
頂きたいのです。
0407nobodyさん
2005/04/03(日) 23:18:52ID:???基本的なことだが、SELECTタグが間違ってるよ
http://www.htmq.com/html/select.shtml
てか、
print_r($_POST);
してpostデータの内容を見てごらん。
0408nobodyさん
2005/04/03(日) 23:23:21ID:???mysql_queryの前に、print $stt; exit; を入れて、
数字を直接入れた場合と、変数に設定した場合との違いを調べる。
つーか違いが必ずある筈だから、その原因を print 変数名; てな感じでどんどん遡って調べていく。
0409403です
2005/04/04(月) 00:12:07ID:r/hNOQjg>>408さま
むっちゃ阿呆な事をしていたのだと、やっとわかりました。
ご指導感謝いたします。
ありがとうございます。
0410403です
2005/04/04(月) 00:44:20ID:r/hNOQjgPHPのマニュアル本とサイトでPOSTで受け取る内容の
説明の所を探してみたのですが、select内のvalues="数字"を
受け取る方法が見つけられなくて・・・。
$_POST['kazari']だとselect name="kazari"のkazariが
返されているので、SQL文がエラーをはいているのだと
言うのは理解できたのですが、valuesの中の値を拾いたい
場合は、どのように記述すればよいのでしょうか・・?
0411nobodyさん
2005/04/04(月) 00:55:44ID:???option のアトリビュートは、value's' じゃ無く、value だよ。
適当なHTMLヴァリデータでも通せば、教えてくれるんじゃ無いの。
0412403です
2005/04/04(月) 02:48:51ID:r/hNOQjgすみません。
ありがとうございました。
やっと、SQLのselect内に、関数を入れて欲しい情報を
一覧表示させる事ができました。
本当に、ありがとうございました。
0413nobodyさん
2005/04/04(月) 07:07:25ID:???ttp://smarty.php.net/sampleapp/sampleapp_p2.php
インスタンス化する所で、
$guestbook =& new Guestbook;
ってしてるじゃん。=& ってどういう意味ですか??
0414nobodyさん
2005/04/04(月) 07:20:47ID:???0415nobodyさん
2005/04/04(月) 07:27:49ID:???0416nobodyさん
2005/04/04(月) 08:54:15ID:???どこも無惨に放置プレイばっかじゃん。
0417nobodyさん
2005/04/04(月) 08:56:03ID:???リクエストされた値をそのままSQLに渡すのイクナイ
0419nobodyさん
2005/04/04(月) 14:32:38ID:???下記のようにすると、実現されて入るのですが、スマートじゃないような気がするんです。
$file = "http://外部サーバURL/hoge.php?a=1&b=2";
$fp = fopen( $file ,"r");
$rere = fread( $fp , 100000 );
fclose( $fp );
hoge.phpはgetで受け取った値を元に実行されます。
ログ書き込み等なので、表示はされず、呼び出し元とは完全に独立して動いています。
が、fopen等は本来そういった機能では無いような気がするので、もっといいやり方は無いでしょうか?
0420nobodyさん
2005/04/04(月) 15:04:52ID:???fopenはそういう使い方(httpやftp等のwrapper)も考慮して作られているので
気にしなくていいんじゃないかな。
真面目にやりたい(or 直接ソケットを触りたい)場合には、fsockopenてのも用意されてるけど。
0421nobodyさん
2005/04/04(月) 15:10:31ID:???他人が作ったもんを使いまわすためのスマートじゃないプログラムなんだからそれでええやん。
なんか困ってんの?
0422nobodyさん
2005/04/04(月) 18:35:49ID:???0423nobodyさん
2005/04/04(月) 18:42:40ID:???$dame_ip = array('127.0.0.1','localhost');
if(in_array($_SERVER['REMOTE_ADDR'],$dame_ip)){
echo "<p>アクセスが許可されていません</p>\n";
exit;
}
0424nobodyさん
2005/04/04(月) 19:00:30ID:r/hNOQjgすみません、教えて下さい。
3つの入力された数字を3で割って、小数点以下の
割り切れない数字を、四捨五入したいのです。
色々調べて試してみたのは
$hoge = (($suuti1)+($suuti2)+($suuti3))/3;
$hoge1 = round($hoge,1);
なのですが、一見意図した小数点第一までの表示で
第二の数字を四捨五入している感じなのですが、
割り切れた場合にも、繰り上がってしまうのです。
($hogeが10の場合、print '$hoge1';で11になってしまう)
なにか良い回避策は無いでしょうか・。
どうかご指導よろしくお願いいたします。
0425403=412です
2005/04/04(月) 19:09:58ID:???ご心配頂ありがとうございます。
フォームフィールドからPOSTで受け取って来た変数が
textからの時は
$auth = mysql_escape_string($_POST["auth"]);
$auth = str_replace("%","\%",$auth);
としてから、使うようにしております。
これで、大丈夫なのですよね?
もし大いなる勘違いでしたら、ご指導いただけると
幸いです。 よろしくお願いいたします。
0426nobodyさん
2005/04/04(月) 19:25:41ID:???ttp://jp.php.net/manual/ja/function.get-defined-constants.php
あと、
ttp://jp.php.net/manual/ja/function.get-defined-functions.php
で一覧を作って眺めるといいよ。
0428424
2005/04/04(月) 20:00:45ID:r/hNOQjg頂いたご指導から、考えてみたのですけれど・・・。
$suuti7 = '3';
$suuti8 = '3';
$suuti9 = '3';
$hoge5 = (($suuti7)+($suuti8)+($suuti9))/3;
$hoge7 = (($suuti7)+($suuti8)+($suuti9))%3;
if($hoge7 ==2){
$hoge6 = round($hoge5,1);
}else{
$hoge6 = $hoge5;
}
print '<br>割り切れない値IFの練習です<br>';
print ($hoge6);
上記で、なんとなく出来たような感じなのですが、
あっていますでしょうか・・・?
0429nobodyさん
2005/04/04(月) 20:30:30ID:yZDujDw2そのままお客に渡さなければいけないですよね?
ソースを盗まれたくないんだけど、いい方法ありますか?
0431nobodyさん
2005/04/04(月) 22:08:21ID:???[url]アドレス[/url]
→ <a href="アドレス">アドレス</a>
[url=アドレス]hogehoge[/url]
→ <a href="アドレス">hogehoge</a>
と変換する方法がわかりません。
どのように組めば実現できるでしょうか?
0432nobodyさん
2005/04/04(月) 22:27:51ID:???0434419
2005/04/04(月) 23:39:28ID:???なるほど、ありがとうございます。
>>421
いや、他人というわけじゃないんですが…。
複数のサーバのアクセスログを一つのサーバに累積させたく、作っている所です。
0435nobodyさん
2005/04/05(火) 00:04:06ID:???どうしたらいいですか。
0436nobodyさん
2005/04/05(火) 00:36:32ID:???0437nobodyさん
2005/04/05(火) 02:00:55ID:???ってのは常識だろ。
0438nobodyさん
2005/04/05(火) 02:12:32ID:???継承を辿って調べないと恐くて使えないような設計には問題があるな
リファクタリングすれ
0439nobodyさん
2005/04/05(火) 02:34:52ID:???なんとなく、今風。
なんとなく、かっこいい気がする。
0440nobodyさん
2005/04/05(火) 10:49:23ID:???0442nobodyさん
2005/04/05(火) 19:57:36ID:???$b = &$foobar->baz;
とかやんないほうがいい?
0443nobodyさん
2005/04/05(火) 20:25:16ID:???メソバを候補で上げてくれるから。
0444nobodyさん
2005/04/05(火) 21:03:20ID:???0445nobodyさん
2005/04/06(水) 18:00:09ID:???選択名<BR>
<select name="数字">
<option value="1">1
<option value="2">2
<option value="3">3
</select><BR>
<input type="submit" value="OK">
</form>
1を選択した時に1が表示出来るようにしたいのですが、***のスクリプトが
わかりません。どなたか教えて下さい。
0447419
2005/04/06(水) 21:20:38ID:???検索エンジンからのリファラ検索文字列がどうも文字化けしてしまいます。
$referer = $_SERVER['HTTP_REFERER'];
$referer = mb_convert_encoding($referer, "EUC-JP", "auto");
で、その後別サーバへ結果を送っています。
yahoo経由はOKなんですが、googleがダメみたいです。
別サーバで結果を表示させた時に、ブラウザの文字コードをUTF-8にすると、検索文字列がちゃんと表示される
(その他の部分は当然、逆に文字化けしますが)ので、mb_convert_encodingが、UTF-8をEUC-JPに変換してくれていないのかなぁ、
と不思議に思っています。
どうしたら、文字化けさせないように出来るでしょうか?
↓phpinfo Configure Command
'./configure' '--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-mbregrex'
0448nobodyさん
2005/04/06(水) 22:56:12ID:???0449nobodyさん
2005/04/07(木) 00:49:50ID:???保存しておきたいんだかどうするんだ?
0450nobodyさん
2005/04/07(木) 04:55:28ID:???http://jp2.php.net/session
セッションの寿命を1日以上に延ばす。
あと保存場所をデフォの/tmpにしてる場合、
システムで1日程度で掃除してないかも注意。
0451nobodyさん
2005/04/07(木) 07:21:24ID:???urlencodeされた文字列は自動で文字コード判別できない(半角英数記号のみだから)
urldecodeしてからmb_convertでどうでしょう
0453nobodyさん
2005/04/07(木) 15:07:37ID:2aRnQEib方法は無いでしょうか?たとえば以下の場合は、
<HTML>
<HEAD>
<TITLE>素晴らしきかな我がホムペ</TITLE>
</HEAD>
<? php
(TITEL名を文字列として使いたい)
?>
</HTML>
PHPのプログラムの中で「素晴らしきかな我がホムペ」という文字列を使いたいです。
0454nobodyさん
2005/04/07(木) 15:17:20ID:???<?php $title = "素晴らしきかな我がホムペ"; ?>
<HTML>
<HEAD>
<TITLE><?php echo $title; ?></TITLE>
</HEAD>
<?php
すきにしなはれ
?>
</HTML>
0455447
2005/04/07(木) 15:48:22ID:???//送信php
$referer = $_SERVER['HTTP_REFERER'];
$referer = mb_convert_encoding($referer, "EUC-JP", "auto");
$referer = urlencode($referer);
//↑ここまでは今までやっていた部分
…
データ送信
…
//受信php
$referer = urldecode($referer);
$referer = mb_convert_encoding($referer, "EUC-JP", "auto");//←これを足した
これで見事に解決しました。ありがとうございます!
送信phpのmb_convertはいらないのかな、とも思いましたが、まあいいかな、と。
0456nobodyさん
2005/04/07(木) 18:28:28ID:???<?php $title = "素晴らしきかな我がホムペ"; ?>
<HTML>
<HEAD>
<TITLE><?php echo $title; ?></TITLE>
</HEAD>
<?php
どうもでやす
?>
</HTML>
0457nobodyさん
2005/04/07(木) 18:34:30ID:jm/6lRT+なのですが、業者から、ソネットはCGiが使えないから、サーバーを業者指定の
物(ファーストサーバー)に変えてほしいという申し出がありました。
調べたところ、ソネットでcgiが使えないという事はなく、業者が自分の
使えるcgiがソネットで使えるか未確認なので変えてほしいという事みたいです。
もし、使えなかった場合は、外注になると言っていまあす。
簡単なアンケート程度の物で、そんな事あるんでしょうか?
私には、サーバーを変えるより、業者を変えた方がいい様に思えるのですが、
ソネットは使えないサーバーですか?
0458nobodyさん
2005/04/07(木) 18:50:06ID:???「業者を変える」に一票
ってか、ソネットビジネスホスティングって、PHP使えんの?
>CGI環境:Perl 5.6.0 / Python 1.5
って書いてあるな。
その業者、perlの実績が無かったりして。
そして、あなたはスレ違い
0459457
2005/04/07(木) 21:11:57ID:jm/6lRT+書き込んでしまいました。CGIのスレで質問するべきでした。
ごめんなさい。
0460nobodyさん
2005/04/08(金) 11:16:53ID:???0461nobodyさん
2005/04/08(金) 11:32:52ID:???の関数化するとか
0462nobodyさん
2005/04/08(金) 11:38:17ID:???こういう記事サイトの最後の方にある
■ この記事についてのご感想 【必須】
役に立った 一部だが役に立った 役に立たなかった
■ コメント
送信
のようなご意見ボックスを自分のサイトにもはっつけてみたい。
PHPでこの機能を実現の仕方を解説しているサイトとかって無い?
余談だけどこういう機能って格好いいよね。
匿名だから送信する方も気兼ねなく好きな言葉送れるし。
0463nobodyさん
2005/04/08(金) 11:42:31ID:???<form action=htto://www.test.com/test.php method="post">
選択名<BR>
<select name="num">
<option value="1">1
<option value="2">2
<option value="3">3
</select><BR>
<input type="submit" value="OK">
</form>
test.php
<?php
if ( $_POST["num"] == "1" ) {
header("LOCATION:http://www.test.com/1.html");
}elseif ( $_POST["num"] == "2" ) {
header("LOCATION:http://www.test.com/2.html");
}elseif ( $_POST["num"] == "3" ) {
header("LOCATION:http://www.testcom/3.html");
}else {
header("LOCATION: form.html");
}
?>
0466nobodyさん
2005/04/08(金) 12:12:31ID:???どういう動きを意図していたのに、どういう挙動をした。というのを書いてくれた方がレスする方も楽なんだけどね。
action部分の httoがおかしい。特に理由がなければ" "で括っておくことが望ましい。
header("Location: http:〜"); Location:の後に空白が必要。
0471nobodyさん
2005/04/08(金) 14:12:57ID:???データーは入らないんでしたっけ?
0472nobodyさん
2005/04/08(金) 14:24:13ID:???GETの時は環境変数QUERY_STRINGに入り、POSTの時には標準入力STDINに入ります。
でも、phpを使う時はそんなことを意識しなくても $_GET,$_POST etc.を使えば良いのでは?
0473nobodyさん
2005/04/08(金) 16:29:23ID:???ありがとうございます。
ディレクトリやファイルをパスに含めてアクセスさせるので不正に変なファイルを
アクセスさせないように複数の変数を一度にチェックしたいと想いました。
$_SERVER['QUERY_STRING']はGETだけなのでリクエストをチェックした方が
良いみたいですね。
0474460
2005/04/08(金) 17:55:07ID:???返信ありがとうございます。
> $var = ($var) ? $var : 1;
↑の手法も良く使うのですが、やはりif文しかないのでしょうかね。
毎回のif文は冗長なので関数にしてみたりしました。
0475nobodyさん
2005/04/08(金) 18:18:47ID:???0477nobodyさん
2005/04/08(金) 18:34:09ID:???<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
が、必ず一番上にきますが、差し支えないでしょうか?
■ このスレッドは過去ログ倉庫に格納されています