【PHP】下らねぇ質問はここに書き込みやがれpart13
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2005/11/25(金) 21:16:56ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>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/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
0877nobodyさん
2005/12/15(木) 21:10:22ID:???0879nobodyさん
2005/12/15(木) 21:21:06ID:???0880nobodyさん
2005/12/16(金) 00:44:30ID:???if (($date !== 23)or($date !== 0)){
echo "aaa";
}else{
echo "bbb";
}
これだと$dateが23の場合でもaaaが出力されてしまうのですが、どこが間違っているのでしょうか。
0881nobodyさん
2005/12/16(金) 00:56:20ID:???0882nobodyさん
2005/12/16(金) 01:01:37ID:???$date が 23 の時
$date !== 23 は false
$date !== 0 は true
false or true = true
∴どんな数字を入れても成り立つ。
基本中の基本、というかこんな事で悩むなら作るの向いてないんじゃないか・・?
0885nobodyさん
2005/12/16(金) 01:19:40ID:???煮詰まった時は、コーヒーでも飲んで小休止すると、悩んでたのが馬鹿みたいにあっさり解けたりするぞ
0886nobodyさん
2005/12/16(金) 01:27:10ID:???どーでもいいことだがPHPでは普通の論理は通用しないぞ
反例:
null == 0 は true
null == array() は true
しかし
0 == array() は false
0887nobodyさん
2005/12/16(金) 02:00:39ID:???0888nobodyさん
2005/12/16(金) 02:17:13ID:???0889nobodyさん
2005/12/16(金) 02:49:47ID:???0891nobodyさん
2005/12/16(金) 03:20:18ID:???0892nobodyさん
2005/12/16(金) 05:29:21ID:Tb6x4DJsああそれは正常な動作ですな
0893nobodyさん
2005/12/16(金) 06:26:17ID:???!($dateが23または0) -> !($date == 23 or $date == 0)
↓ ド・モルガ〜ンッ!!
$date !== 23 and $date !==0
0894nobodyさん
2005/12/16(金) 09:17:47ID:???デリミタを <{ , }> とかに変えればいいんじゃないかな?
ってか、なんのエラー出るのか確かめてないが。
0895nobodyさん
2005/12/16(金) 11:20:26ID:FlVjXK6kファイルが指定されてなかった場合という分岐を作りたいのですが、
そのやり方が分かりません。
if(empty($_FILES['hoge']['name'])){
print("エラー")
}
とやってみましたが、どうもファイルが指定してない場合は
$_FILES['hoge']['name']は1を返してしまうようです・・・涙
よろしくお願いします。
0896nobodyさん
2005/12/16(金) 11:31:15ID:S7k/7Vdp0897nobodyさん
2005/12/16(金) 11:32:08ID:???switch ($_FILES['hoge']['error']) {
case UPLOAD_ERR_OK: echo "うp成功"; break;
case UPLOAD_ERR_INI_SIZE: echo "over upload_max_filesize"; break;
case UPLOAD_ERR_FORM_SIZE: echo "over MAX_FILE_SIZE "; break;
case UPLOAD_ERR_PARTIAL: echo "うp失敗"; break;
case UPLOAD_ERR_NO_FILE: echo "ファイルがありません"; break;
case UPLOAD_ERR_NO_TMP_DIR: echo "テンポラリフォルダがないよ"; break;
case UPLOAD_ERR_CANT_WRITE: echo "ディスクにかけない"; break;
default: echo "未定義エラー";
}
0898nobodyさん
2005/12/16(金) 13:56:04ID:QT9mtH4K例:sample.jpg
を読み込んだときに任意のイメージ群
例:sample1.jpg , sample2.jpg , sample3.jpg
からランダムに生成してくれるようのがあったの思うのですが
思い出せません。誘導お願いします。
たしかなんかphpかなんかで記述したファイルの拡張子を.jpgに
サーバー上で変えたような記憶があります。よろしくおねがいします。
0899nobodyさん
2005/12/16(金) 14:05:58ID:???記憶を辿ってググるかなんか、エスパー降臨なんかを待つしかないな。
0900898
2005/12/16(金) 14:10:14ID:???jpgに戻したってわけです。そいでもって、読み込むときsample.jpgと呼び出すと
>例:sample1.jpg , sample2.jpg , sample3.jpg
から適当に読み込んでくれるって感じです。
0901nobodyさん
2005/12/16(金) 14:10:48ID:???スクリプトとして実行させたいってことでしょ。
0902898
2005/12/16(金) 14:14:33ID:???指示する記述をしたようなしなかったような気がします。
0903nobodyさん
2005/12/16(金) 14:17:16ID:???0904nobodyさん
2005/12/16(金) 14:21:45ID:???mod_rewrite
で
RewriteEngine On
RewriteRule sample\.jpg sample.php
0905nobodyさん
2005/12/16(金) 14:35:00ID:???<?php
$files = array("sample1.jpg", "sample2.jpg", "sample3.jpg");
$file = $files[array_rand($files)];
header("Content-Type: image/jpeg");
header("Content-Length: ".filesize($file));
readfile($file);
exit;
?>
0906898
2005/12/16(金) 14:53:33ID:???すばやいレス助かりました。(n‘∀‘)η
0907nobodyさん
2005/12/16(金) 15:52:47ID:IKuokGUwたとえば、
「http://map.yahoo.co.jp/pl?nl=35.39.52.635&el=139.42.44.010&la=1&sc=3&CE.x=466&CE.y=278」
のように"?"以降の文字列も取得したいのですが。
0909nobodyさん
2005/12/16(金) 16:15:26ID:IKuokGUw�dクス
助かりました。
0911nobodyさん
2005/12/16(金) 18:06:13ID:???ブラウザの更新をすると直前に書いた内容がそのまま渡されてるっぽくて
二重登録になってしまいます。
これって、ボタンを押されたか更新されたかを区別する方法を教えてください
0918nobodyさん
2005/12/16(金) 19:26:36ID:???0919nobodyさん
2005/12/16(金) 19:36:17ID:???16777216ではないですよね?
0920nobodyさん
2005/12/16(金) 19:41:24ID:???という文字列中のmoeを取得したいのですが(moeは文字数不特定、hogeとhageは固定)
どうやって取得するのか教えて下さい。
0921919
2005/12/16(金) 19:44:55ID:???$hoge = explode("hoge", $str);
$hage = explode("hage", $hoge[1]);
$result = $hage[0];
echo $result;
0922nobodyさん
2005/12/16(金) 19:45:57ID:???str_replace( )
0924nobodyさん
2005/12/16(金) 19:55:13ID:VdLHldFd0925919
2005/12/16(金) 19:55:43ID:???>>920
>>921より↓の方が速そうですorz
moeの部分にhogeやhageが入る可能性があるなら正規表現使った方がいいんだろうけどわかりません。
$str = "hogemoehage";
$str = str_replace("hoge", "", $str);
$str = str_replace("hage", "", $str);
echo $str;
0926nobodyさん
2005/12/16(金) 20:40:58ID:???$str = "hogemoehage";
$str = preg_replace("/~hoge/", "", $str);
$str = preg_replace("/hage$/", "", $str);
0927nobodyさん
2005/12/16(金) 20:41:55ID:???926はちょっとタイポ。
$str = "hogemoehage";
$str = preg_replace("/^hoge/", "", $str);
$str = preg_replace("/hage$/", "", $str);
0928nobodyさん
2005/12/16(金) 21:26:16ID:???$str = preg_replace("/^hoge(.*)hage$/", "$1", $str);
0929920
2005/12/16(金) 22:03:48ID:???後付け氏ねと言われそうですがhogeとhageの前後には文字があります。
このような文字列です。値が固定なのはhogeとhageのみです。
hdfjhhogemoehagejkfkj
上記についてご回答宜しくお願いします。
0932nobodyさん
2005/12/16(金) 23:11:41ID:???hogeとhageはその場所以外にでてこないの?
それでいいなら、
$str = "hogemoehage";
$str = preg_replace("/.+hoge(.*)hage.+/", "$1", $str);
0933nobodyさん
2005/12/17(土) 01:04:26ID:???$result = $pattern[1];
0937nobodyさん
2005/12/17(土) 02:34:34ID:???934じゃないけど、変じゃない。
ってか、なんでみんな replace 系にこだわってんの?
元の質問から考えると、preg_match または preg_match_all のほうが良いのでは?
0939nobodyさん
2005/12/17(土) 08:39:30ID:???0941nobodyさん
2005/12/17(土) 09:51:00ID:???0942nobodyさん
2005/12/17(土) 09:52:08ID:???0943nobodyさん
2005/12/17(土) 10:07:30ID:???0945nobodyさん
2005/12/17(土) 10:32:35ID:???0947nobodyさん
2005/12/17(土) 11:15:30ID:???0948939
2005/12/17(土) 12:36:24ID:???この変数はどこから来たんだ?と思った時、replaceの方が直感で分かるんじゃね?といいたかった
0949nobodyさん
2005/12/17(土) 13:25:55ID:???replaceは置き換えが目的なので、返り値は置き換えた文字列
matchは合致するかを調べるのが目的なので、返り値は合致数
>>932は「全体を一部の文字列で置換」したパターンだな
preg_match_allがあるので、preg_matchは合致した文字列を返してもいい気はするけど。
0950nobodyさん
2005/12/17(土) 14:18:39ID:???受け取りの変数名を引数で指定してるんだから迷うようなものでは無いと思う。
よっぽど$1とかの自動生成されるシステム変数の方が不気味。
その上、replaceは元の文字列の編集も行うので処理コストが無駄に高い。
0951nobodyさん
2005/12/17(土) 15:03:43ID:???ページをxhtmlで書き出すと、セッションに入れた値が表示されたりされなかったり不安定で、
htmlのhead内のtitle以外(meta等)を削除すると、なぜか正常に表示されます。
これって、どんな原因が考えられますか?
バージョンは4.3.11です。4.3.10では、正常に動作しました。
0952nobodyさん
2005/12/17(土) 17:48:46ID:???新規セッションでのページアクセスは、
値が代入されていない場合、
if($_SESSION['name'] == ""){
〜
}
で防げるのですが、うちの借りているレンタルサーバーのセッション保持時間が24分でして、この時間が切れた後の確認が
上記の記述では出来ていないようなのです。
「一度ログインして、24分経過→$_SESSIOIN['name']が空になる」
この空の状態でもアクセスする事が出来、$_SESSION['name'] は、Arrayとなっています。
セッション切れあとにアクセスすると、ログイン画面に飛ばしたいのですが、どのようにすればいいでしょうか。
宜しければ、アドバイスお願い致します。
0953nobodyさん
2005/12/17(土) 18:12:46ID:???0954nobodyさん
2005/12/17(土) 18:14:33ID:???0955725
2005/12/17(土) 18:16:17ID:???$_SESSION['name'] がArrayになってる時点で何かゴミが入ってるですよ。
だから当然アクセスできるでしょうね。
0956nobodyさん
2005/12/17(土) 18:21:33ID:???>>954さん
953さんのやり方だと出来ないのでしょうかね・・・。
>>955さん
ゴミですか・・・。Arrayと表示されるって事は空では無いんですね。
少し記述を見直してみます。
0957nobodyさん
2005/12/17(土) 18:42:14ID:???0958nobodyさん
2005/12/17(土) 18:45:31ID:???名前一覧を配列 $meibo に入れて、
if(in_array(!$_SESSION['name'],$meibo){
ログイン画面にheaderで飛ばす
}
で緊急対処してみました。
これから957さんのおっしゃっているprint_r()辺りで探りたいと思います。
ありがとうございます。
0959nobodyさん
2005/12/17(土) 19:33:27ID:???0960nobodyさん
2005/12/17(土) 20:23:17ID:???class a{
var $b;
}
$a = new a();
echo $a->b;
0962nobodyさん
2005/12/17(土) 23:31:38ID:???0963nobodyさん
2005/12/17(土) 23:31:43ID:???PHPでプログラムされたアクセス解析を埋め込むとき、PHPのコードをそのまま埋め込む方法と、
JavaScriptでコードを埋め込む2つの方法があると思う。
後者のJavaScriptの場合
document.referrer
というところを
parent.document.referrer
に変更すればフレームのサイトでも正常にreferを取ることが出来るけど、
前者のphpのコードをそのまま埋める方法でreferを正常にとるにはどうしたらいい?
0968963
2005/12/17(土) 23:47:44ID:???それだとrefer取っても自サイトのフレームが検出されちゃって意味無くない?
>>966
フレームだとどのページを読んだのか判別がつかなくなるような・・・
自分のサイトの中の複数のページを解析しているんだけどそれぞれ独立して
解析したもので・・・
0969nobodyさん
2005/12/17(土) 23:55:54ID:???どこのサイトから飛んできたのかを知りたいのなら
referer取るのはフレーム部分だけでいいんじゃないの?
「複数のページを解析」の中の1つとしてフレームも含めればいいだけのような。
各ページでまでいちいちreferer取る必要ないじゃない。
そこをあえて各ページでもフレームのrefererを取得したいと思うなら、
セッション、クッキー、各ページへの引数、などでデータをたらい回せば?
セッションやクッキーの方式ならリンク元が一緒でも別々のユーザとして特定できるから
ユーザ別の完全な行動履歴が記録できるかもね。
0970nobodyさん
2005/12/18(日) 00:12:21ID:???ereg_replaceと正規表現が良くわかりません・・・
DBに電話番号を登録させていて
取得した電話番号が9999999999(10桁)として
それを999-999-9999という風にハイフンを付加して表示させたいのですが
ereg_replace("([0-9]{3})\([0-9]{3})\([0-9]{4})","\\1-\\2-\\3",$DB[tel])
とコーディングしましたところ無変換になって困っています…
よろしければご教授ください
0971nobodyさん
2005/12/18(日) 00:15:08ID:???> ereg_replace("([0-9]{3})\([0-9]{3})\([0-9]{4})","\\1-\\2-\\3",$DB[tel])
途中の「\」が余分なだけかと。
0973nobodyさん
2005/12/18(日) 05:48:58ID:???0974nobodyさん
2005/12/18(日) 05:54:07ID:???$_REQUEST["変数名"]で受け取れるから
それを使って好きなように処理すればいい
0975nobodyさん
2005/12/18(日) 08:09:35ID:???0976nobodyさん
2005/12/18(日) 08:19:24ID:???URL書き換えの方なら携帯でも使えるべ
レス数が950を超えています。1000を超えると書き込みができなくなります。