【PHP】下らねぇ質問はID出して書き込みやがれ 84

このエントリーをはてなブックマークに追加
952nobodyさん:2009/06/13(土) 03:43:41 ID:???
やってみてから言えよカス
つうかスレタイくらい読めよウンコ
953nobodyさん:2009/06/13(土) 04:13:54 ID:???
>>948
スパム目的に使用されると予想されますのでここでは回答を得られないと思いますよ
954nobodyさん:2009/06/13(土) 09:06:29 ID:nmHEpXwF
お願いします。
サイトの上部にランキングへのリンクを貼っているのですが

http://www.rank.co.jp/ (http://maysite.com/?from=jpでランク登録)
http://www.rank.com/ (http://maysite.com/?from=comでランク登録)
http://www.rank.net/ (http://maysite.com/?from=netでランク登録)
http://www.rank.org/ (http://maysite.com/?from=orgでランク登録)

もしランキングからhttp://maysite.com/?from=netでアクセスしてきた場合

http://www.rank.co.jp/
http://www.rank.com/
http://www.rank.org/
http://www.rank.net/

と一番下に自動で置き換わるにはどう書いたら良いでしょうか?
できたらコピペで使えるような答えがほしいです・・
宜しくお願いします。
955nobodyさん:2009/06/13(土) 09:29:18 ID:???
ごにょごにょ処理した後、headerで飛ばせばいい
956nobodyさん:2009/06/13(土) 10:56:16 ID:???
ごにょごにょごにょ

  ピューーーーン

               あれ?。
957nobodyさん:2009/06/13(土) 11:22:33 ID:???
$str = str;
$patterns = array( '/pattarn1/' , '/pattarn2/' );
$replace = array( 'replace1' , 'replace2' );
echo preg_replace( $patterns , $replace , $str );

で、arrayの中のシングルクオーテーションを""にしたら
文字化けして表示されたんだが、これは普通?というか
バグでもなんでもなくて ' じゃないとダメな決まり?
だとしたらどうしてなんだろうか。php5とfirefoxで表示させてみました。
958nobodyさん:2009/06/13(土) 11:46:07 ID:???
文字化けしたということは漢字コードでしょ?
実際のものが書かれていないとにんともかんとも
959nobodyさん:2009/06/13(土) 13:56:00 ID:???
>957
id。スレタイ。
replaceとpatternの詳細。
960nobodyさん:2009/06/14(日) 00:01:40 ID:RcvJrKuJ
>>958-959
すまそ
マニュアルに書いてあったやつっす
マニュアルのシングルクオーテーションをダブルクオーテーションにしたやつ

<?php
$patterns = array ("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/",
"/^\s*{(\w+)}\s*=/");
$replace = array ("\3/\4/\1\2", "$\1 =");
echo preg_replace($patterns, $replace, "{startDate} = 1999-5-27");
?>

イメージ的にはこんな感じで表示される

[::]/[::]/[:][:]
961nobodyさん:2009/06/14(日) 01:14:32 ID:???
array_keys() と array_values() って順序は対応してるの?
str_replace(array_keys($hash), array_values($hash), $source)
をやりたいんだが
962961:2009/06/14(日) 01:19:52 ID:OOFPIqTL
おっと、下げてしまった
963nobodyさん:2009/06/14(日) 01:52:06 ID:???
シングルクォートとダブルクォートの違いを考えれば何となくわかる気がする
964nobodyさん:2009/06/14(日) 02:28:57 ID:???
>>960
ダブルクォートではエスケープシーケンスと変数が解釈されるゆえ、
\1〜\4がエスケープシーケンスとして解釈されてしまっている。
後方参照では\の代わりに$が推奨されている。

>>961
元の配列と同じ。要素ごとに再走査しなくていいのならstrtr($source,$hash)でいい。
965nobodyさん:2009/06/14(日) 08:49:37 ID:???
>>964
早速参照を\を$に代えてやってみたらちゃんとできたー
とんくす!!
966nobodyさん:2009/06/14(日) 08:55:12 ID:???
>>963
違いで調べてみたら、"は特殊文字も解析される
みたいなことが描いてあった・・
なんか前に見た内容だったけど完全にわすれてた、
'と"は大体同じみたいな印象だけが先走ってしまった情けない・・
967961:2009/06/14(日) 10:45:59 ID:OOFPIqTL
>>964
おおおまさにそれだ
ありがとう!!
968nobodyさん:2009/06/15(月) 03:03:27 ID:3Vzgmpyn
教えてください
imagecreatefromstring関数で壊れたファイルを開いてしまうとプログラムが途中で終了してしまうようなのですが、
何か対策することはできませんでしょうか?
969nobodyさん:2009/06/15(月) 09:08:11 ID:???
壊れてないファイルでやればOK
970nobodyさん:2009/06/15(月) 10:23:26 ID:???
>>969
ネットを巡回するプログラムなので、難しいです。
せめて直前に調べることはできないでしょうか?
971nobodyさん:2009/06/15(月) 10:29:06 ID:???
強制終了してるならエラーでてるんじゃない? まずそれをご参考に
972nobodyさん:2009/06/15(月) 11:43:50 ID:???
>>971
それがでてないみたいなんですよね…
973nobodyさん:2009/06/15(月) 13:52:21 ID:???
@つけろ
974nobodyさん:2009/06/15(月) 14:05:02 ID:???
余計だめじゃないかw
975nobodyさん:2009/06/15(月) 14:41:08 ID:yF6IPEz8
header(location:〜);関連での質問です。
HTMLのフォームに記入させて送信ボタンを押したらメーラが開いて
bodyの中にその内容が入っているという状態にしたいのですが、
auのケータイだとURLが正しくありません、docomoだと無効なデータを受信しました(302)と表示されます。
formのactionに下のようなphpファイルを指定して、POSTデータを受けて順番を組み立てて、headerでメーラを開こうと思っています。
各変数
header("Location:mailto:" . $mailaddress . "?subject=" . $subject . "&body=" . base64_encode($body));
exit;
PC(メーラはbecky)では問題ないようです。
ケータイではlocationでmailtoは使えないんでしょうか、それとも使えるけど使い方が違うんでしょうか。
フォームだけでデータを送る方法ではなく、メーラに入力済みにしておく方法で他に実現することができるのであれば教えてください。
ちなみにフォームのあるページもphpファイルもShiftJISで作っています。
976nobodyさん:2009/06/15(月) 14:43:47 ID:???
Locationでmailto使ってるやつ初めて見た
ってか、今のブラウザってこれで動くんだなすげぇ・・・

mailtoは普通リンクじゃね?
<a href="mailto:アドレス?パラメータ">ここをクリック!</a>
のように使うもんでしょ
977975:2009/06/15(月) 15:02:36 ID:???
mailtoは普通リンクで使いますよね
他のまともな方法で同様のことが実現できれば一番いいんですが思いつきません。
最悪、actionの飛び先で<a href="mailto:***@***.com">メール</a>するぐらいしか。
978nobodyさん:2009/06/15(月) 15:09:13 ID:???
まともな方法の意味がわからん
何がしたいの?
何でheaderでmailtoが使いたいわけ?
979975:2009/06/15(月) 16:16:28 ID:???
>まともな方法の意味がわからん
976さんの最初の2行を読む限りこの方法は普通ではないとのことでしたので。

>何でheaderでmailtoが使いたいわけ?
使いたいわけではありません、この方法でできないので他の方法はないのでしょうか?ということです
submit等のボタンを押したらメーラが開いてフォーム内の内容が本文の中に入ればそれでいいんです

phpを使う理由はbase64でエンコードしたいからです、ケータイ相手なのでJavascriptは使えません。
980nobodyさん:2009/06/15(月) 16:17:50 ID:???
だから
<a href="mailto:***@***.com">メール</a>
の使い方が普通なんだって言ってるの
981975:2009/06/15(月) 16:35:15 ID:???
その使い方が普通なのは知ってます
パラメータの部分にフォームの内容を動的に書けないので困っているということです。
980さんがいう普通の方法でメール本文にフォーム内の内容を入れられるなら教えてください。
『フォーム内容』の意味が不明瞭でしたね、フォーム内容というのは<form>...</form>の中の<input type="text" name='nick'>等で取得できる内容のことです。

formのactionにmailtoを指定すれば近いことは実現できますが、base64でエンコードできないので困ります。
982nobodyさん:2009/06/15(月) 16:58:18 ID:nxZJRVKz
PDOのSQLiteについて質問です
---
phpinfo();でpdo_sqlite の項目を確認すると
SQLite Library 3.3.17undefined
になっているのですが、このバージョンの「undefined」って何者なんでしょうか
983nobodyさん:2009/06/15(月) 17:03:24 ID:???
undefinedは未定義って意味
つまりSQLiteのライブラリが入ってないって事
984nobodyさん:2009/06/15(月) 17:10:13 ID:nxZJRVKz
>>983
返信ありがとうございます。
ライブラリは導入済みです。
PDO Driver for SQLite 3.x enabled になっており、PDOでSQLiteへの接続・操作もできます。
接続・操作ができるのだから、undefinedが付いていようと、特に支障はないといえばないのですが、調べても情報が出てこないため気になったので。
985nobodyさん:2009/06/15(月) 17:11:44 ID:nxZJRVKz
大事なことを書き忘れていました。
PHP 5.2.5 ext/php_pdo_sqlite.dllの差し替えなどは行っていません。
986nobodyさん:2009/06/15(月) 17:19:37 ID:???
undefinedに脊髄反射しちまった、スマン

もしかしてwindows?
↓これ試してみたらどう?
ttp://curiousabt.blog27.fc2.com/blog-entry-45.html
987nobodyさん:2009/06/15(月) 17:32:56 ID:nxZJRVKz
ああ、OSも書いていなかった……すみません
WinXP SP3 , PHP5.2.5 です
>>986
ありがとうございます。
>でもpdo_sqliteの欄のLibraryがundefinedとなっていて気持ちわるかったので、もう一度php.iniファイルを開いて、php_pdo_sqlite.dllの前だけに;をつけたしてみました。

php_pdo_sqlite.dll をコメントアウトしたところ「ドライバがない」と接続の時点でPDOがエラーを吐きました
PHP 5.2.9をダウンロードしてきて、php_pdo_sqlite.dll だけを差し替えてみましたが
やはりバージョンは 3.3.7undefined でした

気にしたら負けなのかな、これは
988nobodyさん:2009/06/15(月) 17:50:20 ID:nxZJRVKz
連続投稿すみません

PHP5.2.5 の WindowsBinary に初期で含まれる php_pdo_sqlite.dll を有効化 → SQLite Library 3.3.17 undefined
PHP5.2.9 の WindowsBinary に初期で含まれる php_pdo_sqlite.dll を有効化 → SQLite Library 3.3.7 undefined

微妙にバージョンはあがってるようですが、やっぱりundefinedが付いてきてます。
# Windowsなんかでやってるからかな
とりあえず気持ち悪いですが無視しておきます。
失礼しました。
989nobodyさん:2009/06/15(月) 18:39:59 ID:???
windowsXPでunix linuxサーバー用のPHP拡張を作るには、
同一環境のマシンとOSがなくても出来ますか?
XP用のPHPバイナリのディレクトリをのぞいたところ、SOではなくDLLでした。
990nobodyさん:2009/06/15(月) 18:55:21 ID:AYiL75q4
if(strpos("http://pan.com?goods=1200", "http://pan.com?goods=1200")){echo "ok";}
上記コードで?があるので、うまくマッチングできません。
どうしたら良いですか?
991nobodyさん:2009/06/15(月) 18:59:34 ID:???
マッチして0を返してるからOK出ないんじゃ
992nobodyさん:2009/06/15(月) 19:04:38 ID:???
>>990
マッチした場所を数値で返す
その場合先頭でマッチしてるから0が返る

$flg = strpos("http://pan.com?goods=1200", "http://pan.com?goods=1200");
if($flg !== false) {
  echo "ok";
}
993nobodyさん:2009/06/15(月) 19:11:11 ID:???
>>991&992
ありがとうございます。
暑さでてんぱってました。ちがうか・・・
994nobodyさん:2009/06/15(月) 20:52:57 ID:???
>>989
各環境でコンパイルしないとだめだと思うよ
作ったことないけど

配布するならソースか、だれかにバイナリ作成を協力してもらうか
995nobodyさん:2009/06/15(月) 22:46:42 ID:???
>>994
トン
996nobodyさん:2009/06/15(月) 22:51:57 ID:???
いつもお世話になってるので次スレ建ててきますね
997nobodyさん:2009/06/15(月) 22:59:43 ID:gEjyaahW
【PHP】下らねぇ質問はID出して書き込みやがれ 85
http://pc11.2ch.net/test/read.cgi/php/1245074032/

これからもよろしくお願いします^^
998nobodyさん:2009/06/16(火) 14:46:03 ID:???
埋め
999nobodyさん:2009/06/16(火) 14:46:43 ID:???
埋め
1000nobodyさん:2009/06/16(火) 14:47:24 ID:???
このスレは1000の風になりました
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。