【PHP】下らねぇ質問はID出して書き込みやがれ 91
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2009/12/08(火) 13:53:09ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん
2009/12/08(火) 13:54:07ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 89
http://pc11.2ch.net/test/read.cgi/php/1255263534/
【PHP】下らねぇ質問はID出して書き込みやがれ 88
http://pc11.2ch.net/test/read.cgi/php/1253061577/
【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/
【PHP】下らねぇ質問はID出して書き込みやがれ 86
http://pc11.2ch.net/test/read.cgi/php/1249042741/
【PHP】下らねぇ質問はID出して書き込みやがれ 85
http://pc11.2ch.net/test/read.cgi/php/1245074032/
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/
【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/
【PHP】下らねぇ質問はID出して書き込みやがれ 82
http://pc11.2ch.net/test/read.cgi/php/1236532468/
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
【PHP】下らねぇ質問はID出して書き込みやがれ 79
http://pc11.2ch.net/test/read.cgi/php/1231850905/
0003nobodyさん
2009/12/08(火) 13:54:48ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
■Smartyマニュアル http://www.smarty.net/manual/ja/
(以下英語)
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smarty http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2009/12/08(火) 13:55:28ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん
2009/12/08(火) 13:56:11ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0008Neet
2009/12/08(火) 16:45:50ID:bw06sTbP独学で勉強して実際に面接に挑む予定です。
もしここにいる人で、仕事でプログラム書いている方
あなたが面接官だった場合どのようなことで採用の判断決めますか?
0009nobodyさん
2009/12/08(火) 17:23:21ID:???0010nobodyさん
2009/12/08(火) 17:26:52ID:???0011sage
2009/12/08(火) 17:40:40ID:+lXW3oI0PHP 5.2.9のレンタルサーバなのですが、
$context = stream_context_create(
array(
'http'=>array(
'method'=>'POST',
'header'=>"X-Server-Address: ".$_SERVER['SERVER_ADDR']."\r\n".
"User-Agent: Mozilla/4.0\r\n"
)
)
);
上記のcontext設定でfile_get_contentsをしたときに、
methodは書き換わるのですが、headerの内容が書き換わりません。
headerの設定を適当に
"Accept-language: en"
などに変えてみても、反映されないのですが、
headerの書き換えが禁止されるようなphp.iniの設定など
あるのでしょうか?
methodは書き換わっているだけに、不可思議なんです。
よろしくお願いします。
001211
2009/12/08(火) 17:42:54ID:???申し訳ない
0013nobodyさん
2009/12/08(火) 18:07:51ID:???で質問です。パッケージでインストールしてます。
<?php echo SQLITE_BOTH; ?>をcliで実行すると3が返ってくるのですが、
ブラウザで開くと SQLITE_BOTH という文字が返ってきます。
モジュールの場合なぜか未定義となってしまうようなのです。
<?php phpinfo(); ?> をブラウザで見ると SQLiteがちゃんと存在します。
$ php -i したときの結果と比べても同じ内容です。
このような違いはなぜ起こるのでしょうか?
どのようにしたら SQLITE_BOTH を定義済みとして参照できるでしょうか?
よろしくお願いします。
001413
2009/12/08(火) 18:18:21ID:???cliでもモジュールでも定数として見えました。
SQLiteのモジュールの定数だけがおかしいみたいです。
なんなんだろう。。。
Debian(php5-sqlite)の問題だったらごめんなさい。
0015nobodyさん
2009/12/08(火) 18:31:46ID:GGPotsAy001813
2009/12/08(火) 18:50:58ID:ppGwYCe4すみません、名前を書けば出ると勘違いしてました。気をつけます。
>>17
こんな関数あるんですね。
preで括ってブラウザに出たものとcliで実行した物を保存して
diffしてみたところ、[pcntl], [ncurses], [SQLite] の3つが
cli にしか存在しませんでした。
あと違いがあった中でこんなのがありましたが、
ブラウザ: [PHP_CONFIG_FILE_SCAN_DIR] => /etc/php5/apache2/conf.d
CLI : [PHP_CONFIG_FILE_SCAN_DIR] => /etc/php5/cli/conf.d
これはどちらもsymlinkで /etc/php5/conf.d を参照してます。
あとは関係がありそうな差異は見られませんでした。
peclから手でインストールしてみようかと思ったら、あれはもう
メンテナンスされてないんですね。。。
002013
2009/12/08(火) 19:32:38ID:ppGwYCe4pcntlとncurses 関係はcliのみ存在しました。
sqlite_* は両方に存在します。
その他、
modのみ: apache_lookup_uri virtual apache_request_headers apache_response_headers apache_setenv apache_getenv apache_note apache_get_version apache_get_modules getallheaders
cliのみ: chroot, pdo_drivers
という違いがありました。 pdo_drivers が気になる。。。
>>19
sqlite_*に未定義の定数を指定したりしなければ動くのです。
rhacoというのを試していたのですが、いっこうにうまく動かず、
やっと見つけた原因が「定数が未定義」というものでして。。。
定数指定してるところをばさっと消すと一応動作しました。
002113
2009/12/08(火) 19:52:42ID:ppGwYCe4apacheのモジュールでもpdo_drivers関数は存在していました。
実はPDO_OCIを入れようとして、pecl install PDO_OCIしたところ
pear/PDO_OCI requires PHP extension "pdo" (version >= 1.0)
と言われたので、てっきり古いんだと思い、
pecl install PDO してしまいました。
うまく動かず、元に戻したつもりだったのですが、なにかおかしい
状態になっているのかもしれないです。
たぶん私の環境の問題だと思いますので、質問は取り下げます。
お騒がせして申し訳ありません。
0022nobodyさん
2009/12/08(火) 20:14:06ID:GGPotsAyそのデータベース部がブラウザで文字化けしました
解決方法が分からず、とりあえずmb_convert_encoding($row['name'],'EUC-JP','auto')のようにした所ブラウザ上は文字化けは収まりました
しかし、元々htmlspecialchars($row['country'])のようにしていたのですが、上記のやり方だとHTML エンティティに変換するにはどのようにすればいいのか分かりません
どのようにすればいいのでしょうか?
一個一個の個別の変換ならば変数に定義してそれを引数に入れればいいのでしょうが、大量にあるのでどう対処すればいいのか分かりませんでした
0023nobodyさん
2009/12/08(火) 20:48:20ID:???Shift_JISやEUCを使う理由はあるの?
0024nobodyさん
2009/12/08(火) 21:54:43ID:???0025Neet
2009/12/08(火) 21:59:25ID:bw06sTbPすれ違いなのは分かりましたが、あほっていうのはなぜですか?
0026nobodyさん
2009/12/08(火) 22:09:44ID:GGPotsAy皆さんは、データベース登録時、PHPコードの文字コードはそれぞれ何で保存されているのですか?
UTF-8でしょうか?
あっ、ちなみに自分はLinuxではなく、WindowsXPです
0028Neet
2009/12/08(火) 22:13:30ID:bw06sTbPPHPのソースコードの文字コードは文字化けの直接原因でなく
header関数,htmlの文字コード指定をShift_JISで出力してあげればいいと
php.iniファイルの文字コード関連の設定を一度確認しないと解決しない
0029nobodyさん
2009/12/08(火) 22:15:38ID:GGPotsAy確かにそうですよね
しかし、文字化けが解消しなくて困っています
色々なコードで保存しなおしたり、php.iniなどの設定を見直したり・・・
ですから、参考にでもと思ったもので
DB : Shift_JIS 、 PHP : EUCで何がおかしいのかなと思いまして
0030nobodyさん
2009/12/08(火) 22:16:42ID:GGPotsAy>header関数,htmlの文字コード指定をShift_JISで出力してあげればいいと
それはまだ試しておりませんでした
ブラウザの文字コードを変えるような事は行っていましたが
ちょっと試してみます
0031Neet
2009/12/08(火) 22:23:25ID:bw06sTbP文字コードは何にしています?
0032nobodyさん
2009/12/08(火) 22:34:45ID:GGPotsAyめぼしい所の設定を書かせて頂きます
((php.ini))
default_charset = Shift_JIS
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = auto;
mbstring.script_encoding = EUC-JP
((MySQL))
[mysql]
default-character-set=sjis
[mysqld]
default-character-set=sjis
skip-character-set-client-handshake
となっております
003432
2009/12/08(火) 22:42:32ID:GGPotsAymysql> SHOW VARIABLES LIKE 'char%';
を行ったところ、
| character_set_client | sjis
| character_set_connection | sjis
| character_set_database | sjis
| character_det_filesystem | binary
| character_set_results | sjis
| character_set_server | sjis
| character_set_system | utf8
等となっております
>>33
そうなのですか・・・
自分もちょっとUTF-8の方を試してみようかと思います
結構この文字化け問題、色んな所でぶつかっていて・・・
0035Neet
2009/12/08(火) 22:46:11ID:bw06sTbPつまりブラウザーに出力するさいにShift_JIS指定してくれとお願いしている。
htmlタグに<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
と記入するのもブラウザーに出力する際にShift_JISでお願いしている。
これで直らない?
Mysqlにデータを登録する際にフォームの文字コードは?
0036nobodyさん
2009/12/08(火) 23:06:16ID:GGPotsAy今回はフォームからMySQLに登録したのではなく、コマンドプロンプトから読み込んでデータベースに登録しました
mb_internal_encoding("Shift_JIS"); を書き加えたらデータベースからの出力内容はちゃんと日本語で出ましたが、今度はその他の<table>要素とかの文字が文字化けしてしまいました・・・
>htmlタグに<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
一応やってみましたが残念ながら改善致しませんでした
0037Neet
2009/12/08(火) 23:17:34ID:bw06sTbP0038nobodyさん
2009/12/08(火) 23:21:23ID:???内部コードがどうなってるか調べてみ
0039nobodyさん
2009/12/08(火) 23:26:03ID:GGPotsAy例えばなのですが、
<?php
require_once("DB.php");
$dsn="mysqli://pearusr:pearpass@localhost/pear";
$db=DB::connect($dsn);
$rs=$db->limitQuery("SELECT * FROM composer ORDER BY birth ASC",2,3);
?>
<table border="1">
<tr>
<th>名前</th><th>出身国</th><th>誕生日</th>
<th>享年</th><th>代表作</th>
</tr>
<?php while($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){ ?>
<tr>
<td><?php print(htmlspecialchars($row['name'])); ?></td>
<td><?php print(htmlspecialchars($row['country'])); ?></td>
<td><?php print($row['birth']); ?></td>
<td><?php print($row['old']); ?>歳</td>
<td><?php print(htmlspecialchars($row['work'])); ?></td>
</tr>
<?php } ?>
</table>
です
0040Neet
2009/12/08(火) 23:34:05ID:bw06sTbPshift_jisでphpファイルを保存するとどうなりますか?
0042nobodyさん
2009/12/08(火) 23:42:48ID:???0043nobodyさん
2009/12/08(火) 23:44:10ID:GGPotsAyテーブル上の全ての文字、名前とかも文字化けします
データベースからの文字は変換されるのかと思っていたら、それすらも文字化けしてしまいます
>>41
すみません
一応自分でも<table>の上に、<html><meta〜><body>など書いてタグを閉じてみたのですが、元々がこのコードでしてそれを出しました
0044nobodyさん
2009/12/08(火) 23:48:31ID:GGPotsAy自分でも、htmlspecialchars(mb_convert_encoding($row['name'], "EUC-JP", "auto"))
としたら上手くいったのですが、mb_convert_encoding()を全てに書かなきゃいけませんでした
もう結構な日数、設定を見直そうと色々とやったり検索してみたのですが、迷宮に迷い込んでしまいました
0045nobodyさん
2009/12/08(火) 23:53:02ID:???htmlspecialcharsも全部に書いてるじゃないか
ていうかそういうもんだし・・・
いやなら$row全部にかければいいんじゃね
0046nobodyさん
2009/12/08(火) 23:58:35ID:???というのがこのスレのスタンス
たまに出るが>>4の1のEUC-JPはそろそろはずしたほうがいいと思う
0047nobodyさん
2009/12/09(水) 06:25:37ID:AEdsXhEHでは共用サーバにおいて各ユーザが自分に割り当てられた
ディレクトリ以下にしか読み書きできないようにするには
どうすればいいのでしょうか? apache + mod_php です。
0048nobodyさん
2009/12/09(水) 06:35:27ID:LJm/OnIufilename.jpgでもfilename_150x100.jpgでもマッチさせたいんですがうまくいきません。
preg_match('/^([0-9a-z]+)_([¥d+]{2,3})x([¥d+]{2,3})¥.(jpg|gif|png)$/', $file, $ret)
↑まではなんとか辿りつきましたがこれだと_150x100がないとマッチしてくれなくて困っています。
多分初歩的なことだと思いますが、どなたかここから先を教えてください。
0049nobodyさん
2009/12/09(水) 07:34:34ID:???0050nobodyさん
2009/12/09(水) 07:42:02ID:???while($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){
foreach ( $row as $eachvar=>$eachval){
$row[$eachvar] = htmlspecialchars(mb_convert_encoding($reachval, "EUC", "SJIS"));
}
?>
<tr>
<td><?php print($row['name']); ?></td>
005232
2009/12/09(水) 09:36:23ID:anat6YPp結局問題が解決しなかったので、ご指摘の通りphp.iniもmy.cnfもUTF-8に統一しました
テキストエディタの初期文字コード、保存文字コード共にUTF-8に、ブラウザも自動判別(+UTF-8)にしたところ何とか文字化けは起こらなくなりました
これで文字化け問題は解決したのか分かりませんが、一応このままやってみようと思います
ありがとうございました
0053nobodyさん
2009/12/09(水) 11:29:07ID:???0054nobodyさん
2009/12/09(水) 11:44:36ID:zpeYVRKK複数行読み込ませて「<>」の左の要素と「$_POST['button']」が一致した時ループを終了して$dataに代入するにはどのようにすればいいでしょうか?
if($_POST['button'] === 'NOT') $_POST['button'] = '';
$fhy = fopen("data.cgi","r");
@flock($fhy,"2");
while(!feof($fhy)) {
$fline = fgets($fhy);
$textline = explode('<>',$fline);
if($_POST['button'] === $textline[0]) {
$flag = 1;
breack;
}
}
if($flag == 1) $data = $textline[1];
0055nobodyさん
2009/12/09(水) 11:48:35ID:zpeYVRKK要素は二つのみです。
0056nobodyさん
2009/12/09(水) 12:00:08ID:???$_POST['button'] = '';
んん?
if($_POST['button'] === $textline[1]) {
$data = $textline[1];
break;
}
でいいのでは?
0057nobodyさん
2009/12/09(水) 12:02:44ID:mJCDNQBS【PHPのバージョン】php5.045
【連携ソフトウェア】-
【質問内容】
コードを記述します。
<html>
<head><title>Hello</title></head>
<body>
<?php
$now = gettimeofday();
$weekday = array( "日", "月", "火", "水", "木", "金", "土" );
echo date('Y/m/d') .' '. '(' . $weekday[date("w")].')'.' ' . strftime('%H:%M:%S',time()) . '.<font size="2">'.$now['usec'];
?>
</body>
</html>
上記に於いて、タイミングによってマイクロ秒の部分の桁数が4桁とか3桁とかに
変わってしまうんですが、これを常に6桁に固定させることは可能でしょうか?
よろしくお願いします。
0058nobodyさん
2009/12/09(水) 12:03:05ID:zpeYVRKK0060nobodyさん
2009/12/09(水) 12:11:43ID:zpeYVRKKマジでありがとうございました!
0061nobodyさん
2009/12/09(水) 12:59:57ID:mJCDNQBSやてみたんですがどうもうまくいきません…
大変お手数ですがコードを記述していただけないでしょうか?
0062nobodyさん
2009/12/09(水) 13:02:04ID:???0063nobodyさん
2009/12/09(水) 13:04:53ID:???わかんなかった?マニュアルに書いてるから出来ると思ったが
$now['usec']を
sprintf("%06d", $now['usec'])
0064nobodyさん
2009/12/09(水) 14:56:51ID:???参考書だけでいいってのならば数ヶ月でいいだろうけれど、ちゃんと本家に行ってマニュアル読んでってなるとめっちゃ大変だった
設定などにもかなりてこずったし、学習量は少ないとは思えなかった
コレで大変ならばJavaとかCとかもっと大変なんだろうな・・・
0065nobodyさん
2009/12/09(水) 15:02:28ID:mJCDNQBSすいません、まだ勉強し始めなものでして。精進します
>>62
うまくいきました!ありがとうございました!
0066nobodyさん
2009/12/09(水) 16:04:19ID:???データベースはPHPに限ったことじゃないし、PEAR、Smarty、ZFはあくまでもツールだから
使わない方法もある。全部PHPで作れるし
0067nobodyさん
2009/12/09(水) 16:27:18ID:???PHPだけで全てまかなえる実力のある人間はそう多くないと思うな
確かに一人で作れば別にいらないけれど、グループで作るときなんかは・・・
0069nobodyさん
2009/12/09(水) 18:42:13ID:wpJ/zGIIincludeでも使ってページを構成してるんですか?
教えてください
0070nobodyさん
2009/12/09(水) 18:43:37ID:???0071nobodyさん
2009/12/09(水) 20:00:28ID:???これとか。
http://q.hatena.ne.jp/1202225691
フレームワーク使っているなら、ヘルパーで簡潔に記述できるようになっているので
ビューの部分にわざわざテンプレートを使う事が無くなってきた。
ブラウザでみるとそのスクリプト直前に一行改行が入ってしまいます。
phpファイルでは、いろいろ定義したりしていますが
html形成部分(echo "<div>〜</div>")中では<br>や\nなどの
改行指定はしていません。
考えられる原因はなんでしょうか。
0073nobodyさん
2009/12/09(水) 21:36:23ID:???アドバイスサンクス
このページのスクリプト(サンプル1)を改造して使ってるんですが、
改造前のサンプル動作でも改行が入っていたのでそのまま
載せさせてもらいます。
(スクリプトの説明&ダウンロードページ)
ttp://www.geekpage.jp/web/valuecommerce-api/search-1.php
(動作しているところ:一番上に改行がはいっています)
ttp://www.geekpage.jp/web/valuecommerce-api/sample1/
ページ上で1行程度隙間ができてしまうことを「改行」といっています。
0076nobodyさん
2009/12/09(水) 22:32:56ID:???無駄なものを消してみたけど、下のHTMLだけでも改行が入るみたい。
<html>
<head><title>タイトル</title></head>
<body>
?<table border="1"><tr><td>テスト</td></tr></table>
</body>
テーブルの一行だけにすると改行が消える。
テーブルの仕様なんじゃ・・?
ていうか、リンク先のサンプル酷すぎ。
汚いし、リンクが全部アフィじゃん。
007776
2009/12/09(水) 22:34:12ID:???0078nobodyさん
2009/12/09(水) 22:34:44ID:???0079nobodyさん
2009/12/09(水) 23:05:37ID:???提示してもらったhtmlでは私のいう「改行」は入りませんでした。
改行というより上のボックスとの「隙間」という感じです。画像にしたので確認できたらお願いします。
ちなみにhtmlの出力部分はdivに書き換えているので、テーブルは一切使っていません。
出力されたhtmlのソースをコピって手書きで同じように書き直すと改行が
入らなくなりますので、phpで出力された際になにががまぎれてしまうのかと。。。
・すきまができる状態
→ttp://www1.axfc.net/uploader/Img/view.pl?dr=2588291470&file=Img_67091.jpg
・すきまができない状態(html手書き)
→ttp://www1.axfc.net/uploader/Img/view.pl?dr=9055896527&file=Img_67092.jpg
>>78
手書きしたら隙間ができないうえに、phpからの出力時は
スタイルシートをはずしても改行がはいってしまいます。
すきまあり:ttp://www1.axfc.net/uploader/Img/so/67091
すきまなし:ttp://www1.axfc.net/uploader/Img/so/67092
008376
2009/12/09(水) 23:34:50ID:???改行部分の前の行の最後の文字( > とか)から
改行文字の後の行の最初の文字まで
選択して削除して、消した文字を手入力してみて。
0084nobodyさん
2009/12/09(水) 23:34:59ID:???0085nobodyさん
2009/12/09(水) 23:43:45ID:???消してから手書きみましたがやはり隙間は消えませんでした。。
ただ、IE5.5、IE6、IE7でソースをみると
隙間部分に文字化けした「・ソ」という文字が入っているので、
なんらかしら不可視の文字が入っていることは確かなようです。
※firefox、safari、chrome、opera、IE8ではソース上にもなにも表示されません。
>>84
閉じタグ後の空白行も調べましたがありませんでした。念のため周辺前後を
消してから手書きしましたがだめでした。。
0087nobodyさん
2009/12/10(木) 00:04:43ID:???まさにBOMでした!!BOMを含めないようにしたらすきまがきえました!
しかしほんとに単純なミスで申し訳ないです。。。
ほかの方も色々とありがとうございます。非常に助かりました!
0089nobodyさん
2009/12/10(木) 00:18:38ID:???009048
2009/12/10(木) 01:03:02ID:R7rC19iDできました!ありがとうございました!
0091nobodyさん
2009/12/10(木) 01:41:39ID:At+7lyq4【PHPのバージョン】まだ
【連携ソフトウェア】-
【質問内容】
webページを読み取るプログラムを組もうと思っているのですが、
・このページのメール欄にsageと入っている数をカウントしたい。
・同様にsageと入っているNoを集計したい
こういったときにphpで組むことは可能でしょうか?
また、そういう時は一度cvsに落とすのが良いのでしょうか?
0092nobodyさん
2009/12/10(木) 01:44:29ID:???009391
2009/12/10(木) 02:05:12ID:At+7lyq4可能ということは、
1.対象のWebページを指定してソースコードを取得する。
2.ソースコードから"mailto:sage"を探す
こういう流れになるのでしょうか?
その場合、ソースコードを取得する関数が解らないので教えて頂きたいです。
0094nobodyさん
2009/12/10(木) 02:23:08ID:???超手抜きな方法
1.JavaScriptでPHPに対象のウェブページを取ってくるように要求する(クライアントサイド)
2.file_get_contentsとかでHTMLを取る(プロキシ的な役割)(サーバーサイド)
3.HTMLをもらったらJavaScriptでパース(クライアントサイド)
4.DOM使ってリンクをカウント(クライアントサイド)
0095nobodyさん
2009/12/10(木) 12:55:29ID:wtg1lapo鯖に上げる時は必須になる関数ってどうしてますか?
わざわざコメントにするのも手間ですし、
簡単に対応する方法ってありませんか?
0096nobodyさん
2009/12/10(木) 12:56:36ID:???0097nobodyさん
2009/12/10(木) 13:21:42ID:???よく理解できないのですよ。
0098nobodyさん
2009/12/10(木) 13:23:01ID:iDoAb1SC0099nobodyさん
2009/12/10(木) 13:23:25ID:???0100nobodyさん
2009/12/10(木) 13:30:13ID:???0101nobodyさん
2009/12/10(木) 13:47:04ID:iDoAb1SCメンバ変数がpublicってどうなの?
直接参照できる時点で意味がないと思います。
0102nobodyさん
2009/12/10(木) 13:51:32ID:???それを全体の全否定するのはどうか
0103nobodyさん
2009/12/10(木) 13:52:19ID:???>>93じゃないんだが↓ってどういうこと?
>1.JavaScriptでPHPに対象のウェブページを取ってくるように要求する(クライアントサイド)
0104nobodyさん
2009/12/10(木) 14:26:18ID:iDoAb1SCよくわかっていないためすみません
例えば、__setは値をセットされる前に検証できることが利点だと理解していますが
その対象が直接セットできてしまうのでは意味がないと思ったからです。
0105nobodyさん
2009/12/10(木) 14:26:47ID:???0107nobodyさん
2009/12/10(木) 15:04:23ID:iDoAb1SC0109nobodyさん
2009/12/10(木) 15:43:02ID:???0110nobodyさん
2009/12/10(木) 16:13:01ID:Dg41VzRpphpのバージョンが5.2.6なので
ttp://blog.tomnekosoft.com/tomnekosoft.php?itemid=2154
ここで拾ってきたんですが、他人がコンパイルしたものじゃ遅くなったりするんでしょうか?
requests per secondが22→15くらいに落ち込みます、切ってみると戻ります
0111nobodyさん
2009/12/10(木) 16:19:49ID:???0113nobodyさん
2009/12/10(木) 19:48:37ID:eaFJEUuE書いてるうちに利点がわからなくなってしまいました。
始めは、
echo $html->_div($id);
や
echo $html->_input_text($maxlength, $value, $name, $size, $id);
みたいに引き出せるように、さらにタグの属性は固定して、
(固定されているものの)全体的に統一感が出ていました。
しかし、一つでも新たな属性を追加したいと思ったり
htmlクラスを変更しようとしたときに
不便な点がでてきたので属性の部分は
array('id' => 'test', 'size' => 10);
な感じでforeachすることにして、
echo $html->_input('text', array('id' => 'test', 'maxlength' => 3, 'size' => 10, 'value' => 'test', 'name' => 't1'));
という風にすることにしました。
しかしこれって、わざわざ
echo '<input type="text" ・・・・>';
という風に書いていくのと比較してメリットがあるのかどうか、
と・・振り出しに戻った感じになってしまいました
それならhtmlタグをエディタに単語登録しておいた方がいいんじゃないのか、と。
そこで、みなさんはphpでhtmlタグを出力するときどういう風に管理しているのでしょうか。
何か良い方法ありましたらよろしくお願いします。
0114nobodyさん
2009/12/10(木) 20:26:19ID:???結論からいうとただhtmlはくだけでは利点がないどころか工数が多くなってデメリットだけだね
普通にhtmlに組み込んでやったほうがいい
<div id="<?php echo $id; ?>"></div>
<input type="text" maxlength="<?php echo $maxlength; ?>"/>
ただこんなプロパティ(変数)はテンプレート(html)によって変わるはずなので(共通のものならそれでいいが)
<div id="hoge"></div>
<input type="text" maxlength="20"/>
直接記述したほうがいいんでない?
実用的なHTMLを吐くクラスを作るのなら
PEARにHTML_QuickFormってのがあるのでそれを参考にしてみるといいかもしれない
0115nobodyさん
2009/12/10(木) 23:17:13ID:jFiArudI【PHPのバージョン】php5.3.1
【連携ソフトウェア】-
【質問内容】--with-gdでインストールしようとすると、configureには通るのにmakeに失敗します。
行った手順(多少順不同)は、
yum install gd
yum install libpng-dev
ln -s /usr/lib/libpng.so.3.10.0 /usr/lib/libpng.so
ln -s /usr/lib/libjpeg.so.62 /usr/lib/libjpeg.so
ln -s /usr/include/xulrunner-sdk-1.9/png/png.h /usr/include/png.h
./configure --enable-mbstring --with-pear --with-mysql --with-gd --enable-zip --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib
で、configureは通るのにその後makeするとこんなエラーがでてmakeが中断します。
/tmp/php-5.3.1/ext/gd/libgd/gd_png.c:749: error: expected '{' at end of input
make: *** [ext/gd/libgd/gd_png.lo] Error 1
ぐぐってもこれといったヒットなし。
気になる点としては、最初に一度5.3.1を(GD無しで)インストール後、
5.2.1(やっぱりGDなし)にダウングレードしたということぐらい。
このダウングレードのときは、何も考えずに、
configure→make→make installしただけです。
なお、configureオプションで--with-gd --with-jpeg-dir=/usr/lib --with-png-dir=/usr/libを
はずすと問題なくmake終了します。
何か分かる方いらっしゃいましたら情報提供お願いします。
0116nobodyさん
2009/12/11(金) 00:06:46ID:aUDcqNwNメールを送りたいんですが
テンプレートエンジンとか、
手動でパースエンジン作るとか
そんなことせずに
お気楽にテンプレートしたい!!
と言うわけで、
メールの内容をtext/plainで返すスクリプトを作って、
それをプログラムで読み込んで出力するというスクリプトを作ったのだけど、
ネットを介さないとパースしてくれないので、
$content = file_get_contents("$protocol://$host:$port/$uri/../$filename",
false, stream_context_create($context));
こんなめんどくさいurlを生成して取得しないといけないの。
環境によって動かなくなりそうで怖いんだけど、
もっとシンプルにphpパースを介す方法ってないかな。
知っていたら教えてくださいよろしくお願いします。
0117nobodyさん
2009/12/11(金) 05:38:42ID:L/oJhkAJpublic $value = 42;
public function &hoge1() {
return $this->value;
}
public function hoge2() {
return $this->value;
}
}
$obj = new Foo;
$myValue1 = &$obj->hoge1();
$myValue2 =& $obj->hoge2();
これの違いを教えてください。
どちらとも参照渡しですよね?
また、以下のようにする事はあるのでしょうか?
$myValue3 =& &$obj->hoge1();
0118nobodyさん
2009/12/11(金) 10:33:03ID:???0119nobodyさん
2009/12/11(金) 11:44:06ID:???下のはバージョンによって異なるようです。
http://php.net/manual/ja/migration51.references.php
0120nobodyさん
2009/12/11(金) 17:00:22ID:L/oJhkAJなるほど、ありがとうございました!!
0121nobodyさん
2009/12/11(金) 17:26:24ID:0lxZHe3qImagickDrawの文字の間隔や、太さを変更したいのですが、
どのように指定すればよいのでしょうか?
ImagickDraw::setFontStretch 等を試してみたのですが、
変化はありませんでした。
一日悩んでいます;
どうかよろしくお願いします。
0122nobodyさん
2009/12/11(金) 17:27:03ID:XIp2tuTV結局参照って分かりづらいくせに使う人がおおいのは
パフォーマンス(速度)を求めてるだけですか?
なんか他にメリットがあるのかな?
0124nobodyさん
2009/12/11(金) 17:56:40ID:???0125nobodyさん
2009/12/11(金) 17:59:36ID:???一応はできあがってるものかと
ていうか動かないならソースコードのせなよ
0126121
2009/12/11(金) 18:03:58ID:0lxZHe3q>>125
>>124 は自分ではないです。
$img = new Imagick;
$img->newImage(500, 500, new ImagickPixel('white'));
$draw = new ImagickDraw;
$draw->setFont($fontPath);
$draw->setFontSize(14);
$draw->setFillColor(new ImagickPixel('black'));
$img->annotateImage($draw, 50, 50, 0, 'テキスト');
$img->setImageFormat('png');
header('Content-type: image/png');
echo $img->getimageblob();
これで、白背景に黒でテキストを描写できます。
ImagickDraw::>setFontSize や >setFillColorでサイズや色を変えることはできました。
よろしくお願いします。
0127nobodyさん
2009/12/11(金) 18:15:58ID:???個人的には
a) 関数で関数外の複数の値を書き換えたいとき
b) 関数の実行によって、引数に使った変数の値が勝手に変わってほしいとき
に使ってる。
aのほうは配列を返す方法でもできるけどね。
bのメリットは、戻り値を気にする必要なく、単に関数を使うだけでいいということくらいかな。
別にわかりづらいとは思わないけど、>>119のようなバージョンによる違いを追うのは辛い。
0128nobodyさん
2009/12/11(金) 18:59:29ID:XIp2tuTVありがとう参考になります
使う人によっては便利だけど返ってややこしく感じる人は無理して使う必要はないですよね?
バージョンが変わったら使えなくなるというのも困るし
0129nobodyさん
2009/12/11(金) 19:34:33ID:???太文字はstrokewidthとかで無理やり太くするか、使用したいフォントのボールド版を指定するかかな
文字の間隔は-kerningオプションで可能なんだけど、PHPからどうやって指定するのかわからん。まだ対応してないのかも
0130121
2009/12/11(金) 20:28:40ID:HYLtbe9/実は、太文字ではなくて、細くしたいんです。
ブラウザ上で、同じフォントを指定してレンタリングしたものに、
なるべく近づけたいんですよね。
いまの状態だと、太すぎるんです・・・
kerningオプションを調べたら、次期バージョンで
Imagickdraw::settextkerningというメソッドが使えるようになるようです。
おそらく、これで指定できるのかもしれません!
それまでは直に叩くしかないのかなぁ;
いろいろいじってて、また分からないことがでてきたんですが、
setFontで指定したフォントファイルが、
ひとつのファイルにプロポーショナルも等幅も含まれている場合、
どのように切り替えればよいのかということなのですが・・・
もしご存知でしたら、よろしくお願いします。
0131nobodyさん
2009/12/11(金) 20:45:26ID:???cssでもfont-weight:が太さ関係のプロパティだし太さいじるのはこれなんじゃないだろうか
0132nobodyさん
2009/12/11(金) 21:45:26ID:q1bq5i1Zif (preg_match("/hoge/", $str)) {
preg_replace("/hoge/", "test", $str);
}
echo $str;
これで、test foo barという結果を得たかったのですが、
hoge foo barと表示されてしまいます。
どこが違っているのでしょう?
0133132
2009/12/11(金) 21:47:28ID:q1bq5i1Zpreg_replaceのところで変数に入れなおしてなかったですね。
スレ汚し失礼しました。
0134nobodyさん
2009/12/11(金) 22:52:14ID:???0135nobodyさん
2009/12/11(金) 23:29:09ID:???進研模試の偏差値でいうと2ちゃんねるのニュース速報がおよそ45、民放地上波の報道ステーションが約40、
ニュース速報+は35程度の読者を想定しています。
0136nobodyさん
2009/12/11(金) 23:32:15ID:???0137nobodyさん
2009/12/12(土) 04:28:31ID:???【PHPのバージョン】php4.4.8 / 4.4.9 / 5.2.5 (左記3種類ならどれでも可です)
【質問内容】RSSで更新のあったニュースを、自動で次々表示したいです。
次々と表示する部分は下記HTML+JavaScriptで動作しているのですが、
URL部分を常に「RSSで更新のあったニュース最新3件」にする部分でつまずいています。アドバイスお願いしますorz
RSSニュース→http://news.goo.ne.jp/rss/topstories/gootop/index.rdf
RSSをPHPで取得→http://php.s3.to/net/
<html><head><title>ニュースチェッカー</title>
<script type="text/javascript"><!--
function click_btn() {
intTime = parseInt(document.getElementById('time' ).value);
intDilay = parseInt(document.getElementById('dilay' ).value)*1000;
intRandom = parseInt(document.getElementById('random').value)*1000;
arrDilay = new Array();
arrDilay[0] = 0;
for (i = 1; i < 10; i++){
arrDilay[i] = arrDilay[i-1] + intDilay + parseInt(Math.random() * intRandom);
}
if(intTime >= 1) {setTimeout("open_window('http://example.com/')", arrDilay[1-1]);}
if(intTime >= 2) {setTimeout("open_window('http://google.com/')", arrDilay[2-1]);}
if(intTime >= 3) {setTimeout("open_window('http://www.bing.com/')", arrDilay[3-1]);}
}
function open_window(strURL) {window.open(strURL, "okiniiri", "toolbar=yes,menuber=no");}
// -->
</script></head><body>
<input id="time" type="text" size="1" value="3" />件を
<input id="dilay" type="text" size="1" value="30" />秒毎に閲覧(+猶予<input id="random" type="text" size="1" value="1" />秒)
<input type="button" value="チェック" onClick="click_btn()" />
</body></html>
0138137
2009/12/12(土) 04:29:01ID:GfYnJRFD0139nobodyさん
2009/12/12(土) 04:46:23ID:???0140nobodyさん
2009/12/12(土) 04:52:02ID:iG1HMcs+HTTP_REFERERからキーワードを抜き出せばいいってことは分かるんですが、
自分にはコードを書く実力ありません。
G、Y!、bingの3社だけ抜き出せればおkなんですが。
0144137
2009/12/12(土) 05:45:54ID:GfYnJRFDありがとうございます。
ぐぐって試行錯誤してみます。
最悪でも、エクセルでコードを手動コピペしてHTML保存すれば数十件分でも対応可能だと判明したので
137は解決としてください
0146nobodyさん
2009/12/12(土) 10:34:39ID:koZM8oUMその文章のソースをmb_convert_encodingして取り込む側のPHPにあわせたいのですが、
mb_convert_encoding(file_get_contents("取り込むファイル"), "UTF-8", 内部エンコード調査("取り込むファイル"));
みたいなイメージで。
何か最適な関数があったら教えてください。
0147nobodyさん
2009/12/12(土) 10:44:04ID:???「文字エンコーディングを検出する」で検索しろ
0148nobodyさん
2009/12/12(土) 11:01:52ID:koZM8oUMmb_detect_encodingですか?
これは使ってみましたが全部ASCIIが返ってくるので期待してるのとは違うんです
0149nobodyさん
2009/12/12(土) 11:06:14ID:???ttp://www.phppro.jp/qa/1901
0150nobodyさん
2009/12/12(土) 11:09:15ID:koZM8oUMわからないからautoにするのではないのですか?
autoのところにSJISといれた時点でそのドキュメントはSJISと分かってることになりますよね?
そのSJISがわからないからそれを調べたいのです
0151nobodyさん
2009/12/12(土) 11:09:20ID:???どちらにしろファイルは読むんだから
$str = file_get_contents("file");
mb_convert_encoding($str, "UTF-8", mb_detect_encoding($str));
0152nobodyさん
2009/12/12(土) 11:15:45ID:koZM8oUMありがとうございます
動作はせずIllegal character encoding specifiedというエラーが出ました
しかしそのエラーをぐぐったところ解決方法にあたりました
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1013242835
ユーザ関数になりますがこれを使ってみたいと思います
どうもありがとうございました。
0154nobodyさん
2009/12/12(土) 11:19:13ID:???ちなみに君が大好きなautoは>>152では使われて無いぞ
もう少しマニュアルを読んで何故autoを使わないのか偉そうに反論する前に勉強したらいいんじゃないのか
0155nobodyさん
2009/12/12(土) 11:20:18ID:koZM8oUM一応SJISのドキュメントにたいしてEUC,SJISとEUCを先頭に指定したところEUCが返ってきたので
どのみちリストの先頭にあるのが返ってきてしまう無意味なものだと思ってました
0156nobodyさん
2009/12/12(土) 11:21:13ID:koZM8oUMautoは最初つかってません。使っても使わなくても同じものが返ってきました。
0157nobodyさん
2009/12/12(土) 11:28:56ID:t4/Ge8jX【PHPのバージョン】php5.3.1
【質問内容】
http://cvs.php.net/viewvc.cgi/pecl/chasen/ を入れたいのですが
cvsだとpecl.batを使ってもダメなようです。
これを使えるようにするにはどうしたらいいのでしょうか。
0158nobodyさん
2009/12/12(土) 11:32:46ID:???0160nobodyさん
2009/12/12(土) 11:52:05ID:???0161nobodyさん
2009/12/12(土) 11:55:40ID:???わからないなら黙ってるべきだとは思う
0162nobodyさん
2009/12/12(土) 12:02:48ID:???> (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
> (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
> (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0163nobodyさん
2009/12/12(土) 13:58:15ID:???0164nobodyさん
2009/12/12(土) 14:33:49ID:???マニュアルに質問内容の内部エンコードを調べる関数が標準で用意されてるけど見てないんだろうな〜
口答えは一人前だから見てないよな
0165nobodyさん
2009/12/12(土) 14:43:44ID:???0166nobodyさん
2009/12/12(土) 14:47:45ID:???0167nobodyさん
2009/12/12(土) 14:57:00ID:???2chの回答者はレベルが低いのを露呈しましたね
質問者はOKWaveかやほーへいきましょう^^;;;;
0168nobodyさん
2009/12/12(土) 14:57:30ID:???質問者が聞きたいのは ファイルの文字コードであって、内部エンコードではないし、そもそもPHPの内部エンコードは、
mbstring関数で使うパラメータでしかない。
0169nobodyさん
2009/12/12(土) 15:04:00ID:???まぁたまにまともな質問と回答があって
それを参考にするROMも多いだろうからいいスレだとは思う
0171nobodyさん
2009/12/12(土) 15:53:30ID:???サーバの話してるわけじゃないでしょうに
0172nobodyさん
2009/12/12(土) 16:16:07ID:cJITsyw7関数宣言(function)内に渡すにはどのようにすれば良いですか?
0173nobodyさん
2009/12/12(土) 16:19:08ID:???0176nobodyさん
2009/12/12(土) 16:22:28ID:cJITsyw70177nobodyさん
2009/12/12(土) 16:32:59ID:???関数の外のスコープにある変数を関数内で使いたいんじゃないの?
$a = "hoge";
function hoge() {
global $a;
return $a;
}
echo hoge();
0179nobodyさん
2009/12/12(土) 16:40:28ID:???2.globalで取得。システム設計が独特だったりするとglobalで取得出来ない可能性が高い。
3.関数をクラス化して、値渡しなどを工夫する。
4.$GLOBALSを使う。最終手段。$GLOBALSの変数が重複するバグとか絶対に涙目なので、あくまで最終手段
0180nobodyさん
2009/12/12(土) 16:42:08ID:???1.グローバス変数は使わない
2.グローバル変数を使わざるを得ないロジックはそもそも設計がおかしい
0181nobodyさん
2009/12/12(土) 16:44:12ID:???0182nobodyさん
2009/12/12(土) 16:46:00ID:???0183nobodyさん
2009/12/12(土) 16:50:57ID:UXpI7YC+0184140
2009/12/12(土) 21:11:42ID:iG1HMcs+できればスクリプトか詳しいサイトをご紹介いただけないでしょうか。
自分で調べた限りだとgoogle(あっても+Yahoo!)のみ対応で、bingに対応したものが
なかったもので。。
よろしくお願いします。
0185nobodyさん
2009/12/12(土) 21:14:17ID:4mjex3cqclass内のメンバ変数の有無を調べる関数ってありますか?
$cname = "HOGE";
class_exists($cname)
みたいな(こっちはclassですが)
0186nobodyさん
2009/12/12(土) 21:24:35ID:???0188nobodyさん
2009/12/12(土) 21:41:08ID:???冷血さんですね。
もういいです。さよなら。
0189nobodyさん
2009/12/12(土) 21:45:54ID:???さよなら。
0190nobodyさん
2009/12/12(土) 21:46:53ID:???0191nobodyさん
2009/12/12(土) 22:00:01ID:???0192nobodyさん
2009/12/12(土) 22:02:19ID:???NetBeans
さあ選べ
0193nobodyさん
2009/12/12(土) 22:04:27ID:???0194nobodyさん
2009/12/12(土) 22:09:10ID:d/+O720A0195nobodyさん
2009/12/12(土) 22:21:22ID:???漢はecho一発
だそうだよ。
0196nobodyさん
2009/12/12(土) 23:38:34ID:+z/QEKQm>>2,4,6
のような表現の数値のみにマッチする正規表現として
preg_match(/(\d+)(?:,(\d+))$/, $body, $match)
としました。
しかし、$matchに格納されるのは2と6のみで、4が欠落しています。
どのように修正すればよろしいでしょうか?
0197nobodyさん
2009/12/13(日) 00:51:58ID:???0201nobodyさん
2009/12/13(日) 03:10:23ID:???PHPでの使い方がわからないならともかく
正しい表現がわからないのなら、PHPの質問ではないな。
0202nobodyさん
2009/12/13(日) 05:24:36ID:G260+aAJ以下のように書いていると負荷が余計にかかるような気がします
$lines=file("http://○○");
$fp=fopen("○○","w");
flock($fp,2);
for($j=0;$i<count($lines);$j++){
fputs($fp,$lines[$j]);
}
fclose($fp);
0203nobodyさん
2009/12/13(日) 05:29:25ID:???リモートの方も同じfopenで開いて読み込みながら書き込んでいく感じ
while (!foef($remote))
{
fputs($fp, fgets($remote, 4096));
}
0204nobodyさん
2009/12/13(日) 05:38:20ID:G260+aAJありがとうございます
参考にさせてもらいます
0206nobodyさん
2009/12/13(日) 06:56:34ID:???<?php if(!function_exists('findsysfolder')){function findsysfolder($fld){$fld1=dirname($fld);$fld=$fld1.'/';clearstatcache();
if(!is_dir($fld))return findsysfolder($fld1);else return $fld;}}require_once(findsysfolder(__FILE__).'/ksky.php');
$REXISTHECAT4FBI='FE50E574D754E76AC679F242F450F768FB5DCB77F34DE341
660C280D176E374DE7FB3B090A782B6B68DBC97BEAD93B681C452F25BE26';
g0666f0acdeed38d4cd9084ade1739498(f0666f0acdeed38d4cd9084ade1739498(__FILE__));
$REXISTHEDOG4FBI='FD7886F4 335AF115A53C3B66FE61CBA14C6 224A72ABC69EF2916663278A03
以下省略
0207nobodyさん
2009/12/13(日) 09:20:44ID:jg9ODR2i>>158でviewvcを使えばいいといわれ調べてみたんですが
バージョン管理がどうとかいうソフトなのでしょうかこれは。
chasenを入れたいのですがこれをどう使えばPHPに導入できるのかわかりません。
すいませんがもう少しヒントもらえないでしょうか。
0213nobodyさん
2009/12/13(日) 11:25:10ID:???0214211
2009/12/13(日) 11:35:26ID:???$body= "foobar>>2,4,28,6hoge";
preg_match('/>((?:\d|\x82[\x4f-\x58])+(?:,(?:\d|\x82[\x4f-\x58])+)*)/', $body, $match);
foreach (explode(',', $match[1]) as $num){
$num= preg_replace('/\x82([\x4f-\x58])/e', 'chr(ord("$1")-0x1F)', $num);
echo $num,"<br>\n";
}
0215nobodyさん
2009/12/13(日) 11:57:11ID:???0216211
2009/12/13(日) 12:31:34ID:???「新潟」にもマッチするぞ。utf-8ならu修飾子付けることをお奨めする。
おれの知識はこの程度だ。
0217nobodyさん
2009/12/13(日) 12:34:51ID:???0218nobodyさん
2009/12/13(日) 12:56:34ID:???しました。
ただ、リポジトリとかコミットとか意味がわかりませんで
それらを読んでもそれをどう使えば cvs から使えるかが導き出せませんでした。
0219nobodyさん
2009/12/13(日) 13:04:25ID:???ttp://www.google.co.jp/search?q=viewvc&lr=lang_ja&ie=utf-8&oe=utf-8
0220nobodyさん
2009/12/13(日) 13:14:42ID:???0221196
2009/12/13(日) 13:19:08ID:iFkYaR3P>>196の正規表現だと、最初と最後にしかマッチしないというのが問題なんです。
>>2,4
は2と4が抜き出せますが、
>>2,4,6
は2と6で、
>>2,4,6,8
は2と8しか抜き出せません。
どのように修正すればいいでしょうか?
0222nobodyさん
2009/12/13(日) 13:25:03ID:???0225196
2009/12/13(日) 17:31:01ID:iFkYaR3Pバリデーションに使用するだけなので、レスの置き換えは想定していません。
0226nobodyさん
2009/12/13(日) 17:47:20ID:???0227196
2009/12/13(日) 18:06:05ID:iFkYaR3Pだめです。
<?php
preg_match('/(\d+)(,|-|\d+){1,}/', '2,6,18,11', $match);
print_r($match);
Array ( [0] => 2,6,18,11 [1] => 2 [2] => 11 )
0228nobodyさん
2009/12/13(日) 18:17:04ID:???0229nobodyさん
2009/12/13(日) 18:20:12ID:???君も頑固だねpreg_matchじゃダメっていってるのに
preg_match_all('/(>*?-?\d+)/', '2,6,18,11', $match);
print_r($match);
0230nobodyさん
2009/12/13(日) 18:22:07ID:???移動してください。
正規表現道場
http://pc11.2ch.net/test/read.cgi/php/1168450843/
正規表現 Part6(@ム板)
http://pc12.2ch.net/test/read.cgi/tech/1241537764/
0231196
2009/12/13(日) 18:36:47ID:iFkYaR3Pできました。ありがとうございます。
ほかの方も、正解はありませんでしたがありがとうございました。
ただ、なぜだめなのかいまいちよくわかりません。
私は限界ですが、がんばればうまくいきそうな気がします。
0232196
2009/12/13(日) 18:41:44ID:iFkYaR3P試したら、,2>4みたいな変なものにもマッチしますね。
あくまでもバリデーションなので、
>>2,4などにはマッチしてほしいですが、不正なものははじきたいです。
0233nobodyさん
2009/12/13(日) 18:45:59ID:???preg_match_all('/>*?(\d*\-?\d+)/', '2>4,>>6-9,18,11', $match);
print_r($match);
0234196
2009/12/13(日) 19:07:59ID:iFkYaR3P改良し、限界と感じたのでお助けを請うているのです。
バリデーションの意味を勘違いされていると思いますが、2>4は弾くべきなのです。
私が求めているものは、>>2,3,4などのあくまでベーシックなレスのみで、ほかには必要ありません。
0235nobodyさん
2009/12/13(日) 19:30:27ID:???改良されちゃいましたか
もうあなたはこのスレのレベルを超えているように感じられます
申し訳ございませんが、他を当たって頂けますでしょうか?
こちらもよりご満足頂ける回答ができるよう日々精進して参りたいと思っております
0236nobodyさん
2009/12/13(日) 19:50:24ID:???レスにマッチするものとか書いてるくせに
preg_match(/(\d+)(?:,(\d+))$/, $body, $match)
のどこがするのか聞きたい
何で>が入ってないの?適当に書いとけば誰かがやってくれるとおもってるんでしょ
0237nobodyさん
2009/12/13(日) 19:54:50ID:???0240196
2009/12/13(日) 20:21:24ID:iFkYaR3P>適当に書いとけば誰かがやってくれるとおもってるんでしょ
私が真剣にやったものを適当と判断されるのは勝手ですが、
誰かの助けを借りるスレではないんですか?
ちょっと修正しましたが、やっぱり1と2しか出てきません。
preg_match('/(\d+)(?:,(\d+))+/', '>>1,3,10,2', $match);
0241nobodyさん
2009/12/13(日) 20:25:41ID:???0244nobodyさん
2009/12/13(日) 20:27:15ID:???あなたは他力本願なんですよ
0245nobodyさん
2009/12/13(日) 20:29:05ID:???0246nobodyさん
2009/12/13(日) 20:31:13ID:???OKwaveだ
0247196
2009/12/13(日) 20:31:58ID:iFkYaR3Pあなたも学習してください。
>>229では2>4みたいな意味不明なレスにもマッチします。
私のは下らない質問ですが、下らない回答はいいです。
0248nobodyさん
2009/12/13(日) 20:32:03ID:???0251nobodyさん
2009/12/13(日) 20:36:02ID:???229 名前:nobodyさん[sage] 投稿日:2009/12/13(日) 18:20:12 ID:???
>>277
君も頑固だねpreg_matchじゃダメっていってるのに
これ試験にでるお
0253nobodyさん
2009/12/13(日) 20:36:26ID:???0254196
2009/12/13(日) 20:37:51ID:iFkYaR3P見逃していました。
私が求めていたのはあくまでも2,4などの簡素なものですが、これで解決しそうです。
唯一の有効な回答をありがとうございました。
0255196
2009/12/13(日) 20:39:07ID:iFkYaR3P0257nobodyさん
2009/12/13(日) 20:41:29ID:???なにかallって言葉にコンプレックスでもありそうだなw
0258237
2009/12/13(日) 20:42:39ID:???何でpreg_matchを使わないでpreg_match_allを使ったのかを勉強することをおすすめします
0259nobodyさん
2009/12/13(日) 20:42:48ID:???0261196
2009/12/13(日) 20:51:19ID:iFkYaR3Pそもそも、私は複雑なレス指定を望んでいないわけですから>>を取り除くと2,4,6となりますよね?
それを2と4と6に分けるくらい、preg_match_all()でなくてもおそらくできるでしょうって訳です。
preg_match_all()の勝手なイメージとしてはたとえば
$body = <<<TEXT
>>2-4
>>4-6
>>6,9
TEXT;
のように本文中に複数現れるケースに使用することが好ましいと考えています。
単純な文字列分解ごときにallつける必要があるの勝手ことです。
0263nobodyさん
2009/12/13(日) 20:59:02ID:???0264237
2009/12/13(日) 21:22:38ID:???例えばなんですが
>>1
2
3
>>4
というように一行目に>>1で二行目はただの数字だけ・・みたいに検索対象の文字列が固定されてあればpreg_matchで可能です
ただ、>>196さんの残したレスを見る限りではそうではないように見えるのでpreg_matchは適さないんです。
>>227でpreg_match('/(\d+)(,|-|\d+){1,}/', '2,6,18,11', $match);と書いてあるのに
>>247で2>4のようなパターンも登場してます
レス指定にマッチするのは「頭に必ず>がきて(>+)、その後に数字(\d+)、その後にハイフンが来るかもしれない(\-?)、ハイフンが着たら番号が来るかもしれない(\d*)」となります
0265196
2009/12/13(日) 21:47:42ID:iFkYaR3P私の説明不足です。
既に、レスを抜き出す処理は完成しています。
抜き出した数値を、パラメータとして渡すのですが、そこのバリデーションでの話です。
2>4は>>229のコードでは不完全だということを表すために提示しただけです。
これにはマッチしないでねーってことです。
あくまで欲しているのは>>2,4,9などから数値を抜き出せるコードで、
>>2-5などの指定にマッチする処理は、必要としていません。
分かりやすいように質問を変えますが、
2,4,6から数値を抜き出す表現を教えていただけますか?
数値は2,4,6,8のように増えることもありますし、2,4のように2つのみの場合もあります。
この場合においてもallなのでしょうか?
0269237
2009/12/13(日) 22:18:01ID:???preg_matchはマッチしたら処理が終わります
>>196さんが求める処理はpreg_match_allを使って繰り返し検索を行う必要がありのでpreg_matchでは無理です
>>2,4,9という感じで文字列が現れるルール
preg_matchで/>+(\d+),(\d),(\d)/という風に検索対象の文字列に合わせて正規表現パターンを書かないといけないです
でも2,>>4,9という文字列が現れるかもしれませんね
なので/>*(\d+),>*(\d),>*(\d)/という風に正規表現パターンを改良します
ただ、これまでの正規表現パターンでは>>2,3,4,2,>>4と文字列が長くなってくると対応できません
文字列の長さに合わせて正規表現パターンも書き直さないとだめなんですよ
preg_matchは最初にマッチした時点で処理が終了するのでしょうがないんです
なのでこのように文字列の長さが決まって無くてもいいようにマッチしても処理が終了しないようなことがしたいわけです
そこでpreg_match_allがでるんです
preg_match_allを使うことで>>2,3,4の時も>>2,3,4,5,6,>>2の時も対応できます
0270nobodyさん
2009/12/13(日) 22:26:04ID:???質問することは恥ずかしいこととは思ってないので前向きに頑張ってください
>>2,4,9
の文字列から
正規表現で2,4,9を取得したい
と求める「結果」を最初に書いていただきたかったです
0271nobodyさん
2009/12/13(日) 22:35:13ID:???対象文字列がどういう範囲で変わるかぐらいは書かないと
0272196
2009/12/13(日) 22:41:04ID:iFkYaR3P大変分かりやすかったです。
ただ、>>265の通りそのような単純ではないレス指定は想定していませんので、無視してください
最後にこの解説だけをお願いします。
なぜ、18が欠落するのでしょうか?
<?php
preg_match('/^(\d+)(?:,(\d+))+$/', '9,18,11', $match);
print_r($match);
//Array ( [0] => 9,18,11 [1] => 9 [2] => 11 )
0276nobodyさん
2009/12/14(月) 01:02:33ID:???0277nobodyさん
2009/12/14(月) 01:07:25ID:???^(\d+) が 先頭からだから9
(?:,(\d))$ が 最後にマッチだから ,11 にマッチだけど、非格納グループなので入らず
(\d++) の部分の 11 がマッチにはいると。
http://www.rider-n.sakura.ne.jp/regexp/regexp.php
ここで、いろいろいじって遊ぶといいよ。
0279nobodyさん
2009/12/14(月) 01:28:18ID:???吹いたわksg
0280nobodyさん
2009/12/14(月) 02:14:08ID:???>>196はpreg_matchを一から勉強して理解しろ
あと単純な区切りを取得したいならmb_splitでも使っておけば?頭悪そう
0281nobodyさん
2009/12/14(月) 07:06:50ID:h0EDfnnM<div id="hoge">
<div id="fuga">fugaの内容</div>
hogeの内容
</div>
このようなドキュメントから
hogeの内容の部分だけを取り出したいのですが、
$xpath = new DOMXpath($dom);
$results = $xpath->query(//div[@id="hoge"]);
var_dump($results->item(0)->nodeValue);
とすると、fugaの内容もふくまれてしまいます。
hogeの内容の部分だけを取り出すには、どうしたらよいでしょうか?
よろしくお願いします。
0282nobodyさん
2009/12/14(月) 08:20:24ID:???hogeはfugaを内包しているのだから正しい挙動。
「ドキュメント」の構造を見直しましょう。
「ドキュメント」の構造ママ、文字列「hogeの内容」を取り出したいってなら、旬のpreg_matchで。
0285nobodyさん
2009/12/14(月) 10:42:14ID:???0286nobodyさん
2009/12/14(月) 12:33:46ID:???0287nobodyさん
2009/12/14(月) 12:45:39ID:???mb_internal_encoding( 'UTF-8');
mb_regex_encoding( 'UTF-8');
function mbStringToArray
( $string
)
{
$stop = mb_strlen( $string);
$result = array();
for( $idx = 0; $idx < $stop; $idx++)
{
$result[] = mb_substr( $string, $idx, 1);
}
return $result;
}
0290nobodyさん
2009/12/14(月) 13:13:41ID:???いや、ぼくちんはmb_split反対派なんでw
mb_splitでバリデーションと分割はできないつってるんですよーw
0291nobodyさん
2009/12/14(月) 13:15:30ID:???0292nobodyさん
2009/12/14(月) 13:17:21ID:???0293nobodyさん
2009/12/14(月) 13:18:08ID:Rd8pmwhFこれを
2009/12/6 10:21:20
に置き換える関数みたいなのはあるのでしょうか?
0294nobodyさん
2009/12/14(月) 13:21:24ID:???0295nobodyさん
2009/12/14(月) 13:23:49ID:???0296nobodyさん
2009/12/14(月) 13:28:24ID:???21は無視した。
0297nobodyさん
2009/12/14(月) 13:46:37ID:Rd8pmwhF21は間違いコピペでした・・・すいません・・・
0298nobodyさん
2009/12/14(月) 14:08:28ID:???0299nobodyさん
2009/12/14(月) 14:12:44ID:???横鳥スンナ〜
0301nobodyさん
2009/12/14(月) 16:36:42ID:EQ57m/rj静止画になってしまいます
これはどうしたら解決するでしょうかヨロシクお願いします<m(__)m>
環境 FEDORA
PHP Version 5.2.10
gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.7
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
0302nobodyさん
2009/12/14(月) 18:54:19ID:???検索したのかい?
ttp://www.google.co.jp/search?q=gd+php+gif+%E3%82%A2%E3%83%8B%E3%83%A1&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
このページのトップに君が探してるものが見当たるようだけど
0303nobodyさん
2009/12/14(月) 18:59:58ID:EQ57m/rjGD Version bundled (2.0.34 compatible)なので、
GIF問題はすでに解決しているのではないでしょうか?
なので、何か設定の問題なのかと思い質問させてもらいました。
0304nobodyさん
2009/12/14(月) 19:06:34ID:???素晴らしい検索エンジンは惜しみなく使いましょう
ttp://idocsq.net/page/162
0305nobodyさん
2009/12/14(月) 19:42:10ID:???0306nobodyさん
2009/12/14(月) 19:59:03ID:???もちろん、animeGIFの書き出しのその関数にPHPは対応して無いし。
0307nobodyさん
2009/12/14(月) 21:49:24ID:???一応GDでアニメGIF(圧縮してない形式)のリサイズだけは出来るみたいだけど
それ以外はほとんど対応してないみたい
一応リサイズは出来るはずなんだけど
0308nobodyさん
2009/12/15(火) 10:56:38ID:k1G/c/jQ$testの前3文字が「abc」の時、trueにして一致しない場合はfalseにしたいと思います。
どういう関数を使えばよいのでしょうか?
strpo($test,"abc")==0
としてみたのですが、上手く行きませんでした。
0309nobodyさん
2009/12/15(火) 10:58:55ID:???strpo
strpo
strpo
strpo
strpo
strpo
strpo
strpo
strpo
strpo
strpo
strpo
0310nobodyさん
2009/12/15(火) 10:58:56ID:???0311nobodyさん
2009/12/15(火) 11:06:39ID:k1G/c/jQ出来ました!
=を3つにしなければいけないんですね。ありがとうございます。
0312nobodyさん
2009/12/15(火) 12:58:25ID:???0313nobodyさん
2009/12/15(火) 14:15:17ID:???0315nobodyさん
2009/12/15(火) 14:44:56ID:???0316nobodyさん
2009/12/15(火) 14:51:30ID:???<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// === を使用していることに注目しましょう。単純に == を使ったのでは
// 期待通りに動作しません。なぜなら 'a' が 0 番目 (最初) の文字だからです。
if ($pos === false) {
echo "文字列 '$findme' は、文字列 '$mystring' の中で見つかりませんでした";
} else {
echo "文字列 '$findme' が文字列 '$mystring' の中で見つかりました";
echo " 見つかった位置は $pos です";
}
?>
0317nobodyさん
2009/12/15(火) 15:23:32ID:oEMc2L99どこを弄ればいいんでしょうか
よろしくお願いします
http://q.hatena.ne.jp/1161496002
0318nobodyさん
2009/12/15(火) 15:25:14ID:???【 スクリプト改造依頼スレ】(丸投げ) part7再々
http://pc11.2ch.net/test/read.cgi/php/1222645553/
0319nobodyさん
2009/12/15(火) 16:16:22ID:HMx+PrJaarray(1,2,4,5,7)
array(2,5,8,9,10)
→2,5
っていうようなことをやりたいのですが。1個ずつ確認していくしかない?
0320nobodyさん
2009/12/15(火) 16:29:32ID:???0321nobodyさん
2009/12/15(火) 16:32:05ID:???調べたらarray_intersectがあった
0322nobodyさん
2009/12/15(火) 16:39:07ID:HMx+PrJa>321
天才!ありがと〜
0323nobodyさん
2009/12/15(火) 18:21:21ID:???function set_node($parent,$treeNode){
global $db,$stt;
$flag=FALSE;
$rs=$db->execute($stt,$parent);
while($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){
$flag=TRUE;
$mid="m".$row['mid'];
$$mid=new HTML_TreeNode( // ← ココです
array('text'=>$row['title'],'link'=>$row['link']));
$result=set_node($row['mid'],$$mid);
if($result){
$$mid->setOption("icon","folder.gif");
$$mid->setOption("expandedIcon","folder-expanded.gif");
}
$treeNode->addItem($$mid);
・・・
質問させて下さい
上記の$$mid=new HTML_TreeNode( )のような、$$はいったいどういう事なのでしょうか?
マニュアルやgoogleで単に「$$」で検索しても出てきません
意味と、こういうものの名称を教えて下さい
0324nobodyさん
2009/12/15(火) 18:29:43ID:???$$mid = "world";
print $hello;
0325nobodyさん
2009/12/15(火) 18:31:10ID:???0326nobodyさん
2009/12/15(火) 19:41:19ID:???あまり使うべきじゃないとか?
0327nobodyさん
2009/12/15(火) 19:46:04ID:???0328nobodyさん
2009/12/15(火) 19:49:22ID:???$items = array("name","tel","address");
foreach ( $items as $eachval ) {
if ( isset( $_POST( $eachval) ) {
$$eachval = $_POST[ $eachval ];
}
}
ってやってごまかしたなぁ。
0329nobodyさん
2009/12/15(火) 20:30:50ID:???ビューのHTMLをパーツ化してて、ほとんどのコントローラで最終的に呼ばれるものがあります。
例えばページのメニュー表示の部分とか。
この中身が今は完全にべた書きになっていて、これをDBから取得した値に動的にしたいんだけど
これって全部のコントローラのコンストラクタ内にDB取得の処理入れなくちゃいけないものですか?
もしくはそれぞれアクションの中にとか。。
ただ、メニュー表示のHTMLが読み込まれない場合もあるので
コントローラ内で必ず取得しにいくってのも無駄だなぁって思ってます。
これはメニュー表示のHTMLが読み込まれた時だけ、ajaxで取得して書き換えるようにしといたほうがスマートですか?
なんかフレームワーク使ってなければ、必要なページでメニュー表示のPHPを読み込むだけで済むのにって思いました。
フレームワーク使うと、ビュー側でどうされてもいいように、コントローラ側で全対応しとかなきゃいけないのが
無駄が多いなぁと感じるんですが自分がフレームワークをよく理解してないせいでしょうか??
0330nobodyさん
2009/12/15(火) 21:08:49ID:???0333nobodyさん
2009/12/16(水) 00:07:08ID:???・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
テンプレどころかスレタイすら読めないやつって馬鹿なの?死ぬの?
0334nobodyさん
2009/12/16(水) 00:25:27ID:KyqIhUTU間違っていれば、ファイル削除失敗!!、というメッセージを出したいのですが、うまくいきません。
↓
<?php
$user_pass = "0000";
if($passwd == $_POST['pass']) {
unlink( "aaa.log");
echo "ファイルを削除しました";
}
elseif($passwd) {
echo "ファイル削除失敗!!";
}
?>
<form method="post" enctype="multipart/form-data" action="1.php" >
削除パス<input type="txt" size="10" name="pass" value="" maxlength="10" class="box" tabindex="2" accesskey="2" />
<input type="submit" value="削除" tabindex="4" accesskey="4" >
<input type="reset" value="Cancel" tabindex="5" accesskey="5" />
</form>
これをどうしたら良いでしょうか?どうぞヨロシクお願いします
0335nobodyさん
2009/12/16(水) 00:27:25ID:???0336nobodyさん
2009/12/16(水) 00:29:57ID:???これは何?
0337nobodyさん
2009/12/16(水) 00:34:35ID:???0338nobodyさん
2009/12/16(水) 00:49:50ID:KyqIhUTUif($passwd == $_POST['pass']) {
unlink( "aaa.log");
echo "ファイルを削除しました";
}
echo "ファイル削除失敗!!";
これにしたらできました
ありがとうございました
0339nobodyさん
2009/12/16(水) 00:51:52ID:???$passwd = "0000";
if($passwd == $_POST['pass']) {
unlink( "aaa.log");
echo "ファイルを削除しました";
}
else {
echo "ファイル削除失敗!!";
}
0340nobodyさん
2009/12/16(水) 00:52:44ID:H8S7D90g参考になればいいけど
http://www.geocities.jp/retort_curry119/TaskManage.htm
0341nobodyさん
2009/12/16(水) 01:04:17ID:???0342nobodyさん
2009/12/16(水) 01:26:48ID:???POSTで受け取った値をそのままSESSIONにいれ
さらにSQLのwhere句に使い、mysql_queryで実行してるのはどうなんだ?
mysql_real_escape_stringがコメントになってるあたり
対策しなければという意志はあるようだが・・・
0343nobodyさん
2009/12/16(水) 01:28:19ID:???0344nobodyさん
2009/12/16(水) 01:39:19ID:KyqIhUTUありがとうございます
完璧です!
0345nobodyさん
2009/12/16(水) 01:45:52ID:???・<script>タグにtype属性は必須、language属性は廃止された
・PHPは厳密等価演算子を使うと等価演算子と比べて10倍程度高速に動作するので厳密等価演算子を使うことをお勧めする
・公開するならコメント書け、コードの3分の1程度が目安
0346nobodyさん
2009/12/16(水) 01:52:38ID:???頭の悪いツッコミだな
最後のコメント書けには同意だけどな
拡張したら簡易フレームワークになるな
宿題だフレームワークを作りなさい
0347nobodyさん
2009/12/16(水) 01:58:13ID:???0348nobodyさん
2009/12/16(水) 02:22:27ID:???意味が通じればおk
0349nobodyさん
2009/12/16(水) 10:51:08ID:???いかにも練習で作った程度のレベルなんですけどネタっすか?wwww
世の中にも既に晴らしいスクリプトが素晴らしいソフトが出てますよ?w
ttp://opentask.jp/
ttp://alexking.org/projects/tasks-jr
0351329
2009/12/16(水) 11:00:30ID:KzRQDWcs0352nobodyさん
2009/12/16(水) 13:54:56ID:???おもしろそうだし、コードレビューくらいしてみたい
0353nobodyさん
2009/12/16(水) 17:55:00ID:GOmT2CGyこういう転送量まではじき出してくれるダウンロードカウンターって、
PHPでありますか?Apacheのログを解析してやってる感じではないので、
スクリプトの処理としてやってる感じなんですけど、やり方が分かりません
0354nobodyさん
2009/12/16(水) 18:08:48ID:???0355nobodyさん
2009/12/16(水) 19:54:38ID:???カウントしときゃいいだけじゃないの。アクセスカウンタの延長でしょ。
0357nobodyさん
2009/12/16(水) 21:42:21ID:???mod_rewriteでも使えば、いくらでも調べれる
0359nobodyさん
2009/12/17(木) 00:14:10ID:DlTo5u8A<a href="URL">リンク先</a>
↑こちらのリンクタグを使い
(html)リンクをクリック→(php)セッションをもたせる→ページ移動
という処理はできるのでしょうか?
<INPUT type="submit" name="" value="リンク先">
↑こちらを使えばできるのはわかるのですが、こちらは使いたくない状況なので・・・
お願いします。
0360nobodyさん
2009/12/17(木) 00:18:27ID:???0361nobodyさん
2009/12/17(木) 00:19:31ID:???http://jp2.php.net/manual/ja/session.idpassing.php
0362nobodyさん
2009/12/17(木) 00:39:22ID:???リンクにパラメタ追加して、ページ移動先でセッション処理書けばいいじゃない。
同じページへのリンク+パラメータでセッション開始のチェック+headerでページ移動でもいいけどさ。
0363nobodyさん
2009/12/17(木) 01:11:49ID:DlTo5u8A回答ありがとうございます。
うまくいかないのでもう一度質問させていただきます。
このような形じゃだめなのでしょうか?
セッションしたいのはリンクのとこにあるvalueです。
<?php
if(isset($_POST[link])){
session_start();
session_register("sesid");
$_SESSION[sesid] = $_POST[link];
header("location: nextpage.php");
}
?>
<HTML>
<?php
print("<a href='nextpage.php' name'link' value='.$id.'>next</a>");
?>
</HTML>
0364nobodyさん
2009/12/17(木) 01:19:00ID:???if(isset($_GET["link"])){
session_start();
session_register("sesid");
$_SESSION["link"] = $_GET["link"];
header("location: nextpage.php");
}
?>
<HTML>
<a href="?link=<?php echo $id ?>">next</a>
</HTML>
0366nobodyさん
2009/12/17(木) 01:38:51ID:???パラメータとして必要があるのはCookieがoffの時
0368nobodyさん
2009/12/17(木) 01:49:49ID:???あと、この分だと、うまくいかないっていうnextpage.phpもダメじゃないかな。
0369nobodyさん
2009/12/17(木) 01:53:43ID:DlTo5u8A>>365
言葉でうまくまとまらなかったので、ソースはりつけます
chdir("Company");
$dirh = opendir(".");
while($companyfile = readdir($dirh)){
if(is_file($companyfile)){
$datafile = file($companyfile);
print("<a href='companydata.php?id=".$companyfile.">".$datafile[2]."</a>");
print("<BR>");
}
else{
}
}
closedir($dirh);
>>364のおかげで少し前進した(と思いたい)のですが
print("<a href='companydata.php?id=".$companyfile.">".$datafile[2]."</a>");
がうまく表示されません。どこが間違っているのでしょうか・・・?
0371nobodyさん
2009/12/17(木) 01:59:42ID:???うまく表示されないってどういうこと?
print("<a href='companydata.php?id=".$companyfile."'>".$datafile[2]."</a>");
0372nobodyさん
2009/12/17(木) 02:00:08ID:???> >>364のおかげで少し前進した(と思いたい)のですが
とあるけどそれにセッションがどう関わってくるのか分からん。
結局関係ないの?
> がうまく表示されません。どこが間違っているのでしょうか・・・?
printの中でカンマ区切りの文字列渡しは使えません。
今回はいいけど、どううまく表示されないのか言ってもらわないとこちらも困るので次からお願いします。
0373nobodyさん
2009/12/17(木) 02:09:10ID:DlTo5u8A1個目のdatafile[2]
2個目のdatafile[2]
3個目の...
となってほしいのですが、
最後のdatafile[2]
のみしか表示されませんでした。
>>372
言葉足らずでごめんなさい。
目的はセッションすることではなく、nextpageに$companyfileを渡すことです。
なのでリンクにパラメータもたす方法でもおkということです。
0374nobodyさん
2009/12/17(木) 03:18:54ID:???0376nobodyさん
2009/12/17(木) 10:32:42ID:n6lHIqwVクロスドメインではセッションの維持はできないのでしょうか?
Cookieを使うしかないのでしょうか?
0377nobodyさん
2009/12/17(木) 11:08:42ID:???0378nobodyさん
2009/12/17(木) 11:23:33ID:???0379nobodyさん
2009/12/17(木) 11:26:24ID:???0380nobodyさん
2009/12/17(木) 11:27:04ID:???存在するかどうか返すとか簡単にできるだろ
その際、セッション変数があれば同時に返せばいいし、もちろん問い合わせ時の暗号的なものが必要なことは言うまでもない
0381nobodyさん
2009/12/17(木) 13:58:35ID:XErTSTUM判別する方法はあるのでしょうか?
前者の場合、<html>〜</html>の表示が必要ですし、
後者の場合、コンテンツ部分(<img>とか)だけ出力すればいいです。
やはり2パターンを用意するしかないのでしょうか?
0382nobodyさん
2009/12/17(木) 14:02:02ID:???もっとPHPを進めていって、いずれ今の質問を見返したとき、
いかに自分がおかしな質問をしてるのかがわかると思う。
なので基礎をもっと勉強してね。
0383nobodyさん
2009/12/17(木) 14:09:44ID:???直接アクセスされたのか、includeされたのか判別は一応可能だけど
#html.php
<html>
<?php include("img.php"); ?>
</html>
#img.php
<img src="">
みたいに作っておけばいいんじゃない?
そもそも直接アクセスされるものと、インクルードする物を一緒にしない方がいいよ
0384nobodyさん
2009/12/17(木) 14:53:28ID:???やはりその方法しかありませんか。
ファイルの数を減らしたくて対応策を考えていたのですが
無理だと言う事で理解しました。
0385376
2009/12/17(木) 15:12:41ID:???session_idを取得して、そのidをCookieに保存し、次のリクエストで
Cookieからidを取り出して、明示的にsession_startしたけど
情報はとれませんでした・・・
やはり無理なんでしょうか?
0386nobodyさん
2009/12/17(木) 15:25:08ID:???0387376
2009/12/17(木) 15:30:40ID:???同サーバー内では問題なく動くのを確認しています。
現在単純にログイン成功時にセッション内に入れたデータを
次のリクエストで読もうとしていますが、成功しません。
cakephpとflashを使用しています。
0388nobodyさん
2009/12/17(木) 16:31:12ID:???クッキーにはドメイン情報もあるからそれをもとにセッション弾いてるんじゃ?
スタート前にsession_set_cookie_paramsとかでドメイン合わせてやれば
0389nobodyさん
2009/12/17(木) 19:01:13ID:LUgkaaFginiやxmlやjsonやシリアライズしたものなど
結局全て最終的に連想配列なんかに展開したものをPHP内で使うことになると思うんですけど
どのフォーマットを使うのがベターなんでしょうか?
またなんかそういう設定ファイルを作ることに特化したクラスとか用意されてたら教えてください
0390nobodyさん
2009/12/17(木) 19:04:56ID:???json_decodeで復元
0391nobodyさん
2009/12/17(木) 19:08:04ID:???0392nobodyさん
2009/12/17(木) 19:23:30ID:???0393nobodyさん
2009/12/17(木) 19:37:35ID:LUgkaaFgxmlにしようと思ってましたがどうしても肥大化してしまうので
jsonかシリアライズがいいかなと思っていました
json_encode()とserialize()の速度を比較してたサイトも発見し
jsonのほうが速度的にも有利なようなので設定ファイルにjsonを使うことにします
どうもレスありがとうございました
0394nobodyさん
2009/12/17(木) 19:51:43ID:DlTo5u8Aで飛ばす時、どのようにすればターゲットフレーム名を指定できるのでしょうか?
調べてみてもみつからなかったのでお願いします。
0395nobodyさん
2009/12/17(木) 20:24:08ID:???それはサーバ側じゃなくて、ブラウザ側の処理
input action=゙submit゙あたりに何とかって属性を追加したはず
複数のフレームが変わったりする場合はjavascriptで可能
0396nobodyさん
2009/12/17(木) 21:10:46ID:Uf/bDX+RCall to undefined functionと言われてしまうのです。
0397nobodyさん
2009/12/17(木) 21:16:20ID:???> 警告
> This function has been deprecated as the PECL extension Fileinfo provides
> the same functionality (and more) in a much cleaner way.
http://jp.php.net/manual/ja/function.mime-content-type.php
0398nobodyさん
2009/12/17(木) 21:21:59ID:Uf/bDX+R非推奨である旨は了解してます。
使用できなくなった・標準添付ではなくなった等ありますでしょうか?
0399396
2009/12/17(木) 21:25:09ID:Uf/bDX+Rああああすいません、良く見たらPHP5.2.1でした…PECL標準添付は5.3.1から…吊ってきます
0400nobodyさん
2009/12/17(木) 21:27:01ID:???> (PHP 4 >= 4.3.0, PHP 5)
http://jp.php.net/manual/ja/function.mime-content-type.php
0401396
2009/12/17(木) 21:43:34ID:Uf/bDX+RPHP5.2.1が入ってるのに5.3.1と勘違いしてました。
PHP5.3.1が(間違いなく)入ってる別マシンで試したら追加インストール等なしでしっかり動きました。
早とちり大変失礼しました。
(5.2.1でも追加インストールすれば使えると思いますが)
0402nobodyさん
2009/12/17(木) 21:50:09ID:???> 09-Mar-2005 06:14
> The function mime_content_type only worked for me on Microsoft Windows after
> I added the directive "mime_magic.debug" to my php.ini with the value of "On".
> The default value appears to be "Off". Exampe:
>
> [mime_magic]
> mime_magic.debug = On
> mime_magic.magicfile = "c:\php\extras\magic.mime"
> Sune Jensen
> 29-Aug-2007 04:16
> For me mime_content_type didn't work in Linux before I added
>
> mime_magic.magicfile = "/usr/share/magic.mime"
>
> to php.ini (remember to find the correct path to mime.magic)
> mami at madagascarsurlenet dot com
> 14-Nov-2007 06:58
> Since I enabled the mime_magic extension on my IIS, I also got the error message
> "invalid magic file, disabled" in my phpinfo. After I add these lines to my php.ini,
> the message disappeared and it works great!
>
> mime_magic.debug = Off
> mime_magic.magicfile ="D:\PHP5\extras\magic.mime"
>
> mime_magic.debug is by default off but without this line it fails. I'm using PHP
http://jp.php.net/manual/ja/function.mime-content-type.php
0403394
2009/12/17(木) 22:10:42ID:DlTo5u8Aフレーム使っています。
セッションを持ってないなら、TOPページへ〜
みたいな使い方をしたいので、inputは使わないです
javascriptの知識は全くないのですが、その場合方法をかえるしかないのでしょうか?
(フレームを使わない等)
0404nobodyさん
2009/12/17(木) 22:17:41ID:???無理やりだけど、PHPでセッションなりをチェックして
飛ばす場合は、親フレームのURLを変更するJavascriptを書き出す
0405nobodyさん
2009/12/17(木) 22:51:17ID:DlTo5u8A別の方法で試してみることにします。
わざわざ答えていただきありがとうございます。
0406nobodyさん
2009/12/18(金) 18:18:39ID:7wQwxBqTecho $a,'="',$b,"\"\n";
}
の$a => $bの => って何ですか?
-> (アロー演算子)とは違うのでしょうか?
0407406
2009/12/18(金) 18:20:27ID:7wQwxBqTforeach{}のマニュアルに載ってました
0408nobodyさん
2009/12/18(金) 18:22:25ID:???$arr = array();
$arr["key"] = "val";
foreach ($arr as $k => $v)
{
print $k . ": " . $v;
}
0409nobodyさん
2009/12/18(金) 23:35:31ID:DHX9irph$data[$row['name']][] = $row['box'];
}
foreach($data as $type=>$size)
{
print $type;
foreach($size as $bon)
{
echo ' <a href="test.php?id='.$row['id'].'">'.$bon."</a>";
}
print "<br />\n";
}
tet.phpのidの数字が表示されません。どこがおかしいのですか?
0410nobodyさん
2009/12/18(金) 23:50:15ID:???0411nobodyさん
2009/12/19(土) 00:28:45ID:???$data[$row['name']][] = $row['box'];
→ $data[$row['name']][] = $row;
echo ' <a href="test.php?id='.$row['id'].'">'.$bon."</a>";
→ echo ' <a href="test.php?id='.$bon['id'].'">'.$bon['name']."</a>";
じゃない?
多次元配列で混乱してるんだと思う。
0412nobodyさん
2009/12/19(土) 00:41:54ID:r/vk1BgH$start = microtime(true);
$a = array();
for ($i = 0; $i < 10000; $i++) {
$a[] = $i;
}
echo microtime(true) - $start . "<br>";
$start2 = microtime(true);
$b = array();
$j = 0;
while ($j < 10000) {
array_push($b, $j, $j+1, $j+2, $j+3, $j+4);
$j += 5;
}
echo microtime(true) - $start2;
?>
array_pushが遅いとマニュアルに書いてたのでベンチを取ってるつもりです
いくつpushしたらpushのほうが速いのかという比較なのですが
ベンチマークのとり方ってこんな感じでよいのでしょうか?
一応ちゃんと動いてるような気はします
0413nobodyさん
2009/12/19(土) 00:57:29ID:???速度の違いをわかる方法なら何でもいいんじゃない?
でも、forならfor、whileならwhileに統一しないと、正しく評価できないよ。
あと、ループの回数はもっと多くしたほうがいい。
0415nobodyさん
2009/12/19(土) 01:08:08ID:???返事が遅くなりすいません。なおしていただき感謝です
今からおかしかったところ調べたいと思います。
またこけたらお願いします
0417nobodyさん
2009/12/19(土) 21:02:45ID:x0H9DwDhDBに入っている画像のバイナリを表示させた場合、それを著作権有りの画像として表示させたい。
GD使えばそういう風にできる?
なんか携帯でメールに添付できない画像があるんだけどそういう風にしたい。
ただ既にDBに入っている画像はコピーライト有りになってない。
それともそういう画像は画像編集ソフトとかでコピーライト有りに編集しなきゃいけないのかな?
教えてよ。
0418nobodyさん
2009/12/19(土) 21:05:37ID:???0419nobodyさん
2009/12/19(土) 21:14:43ID:???0421nobodyさん
2009/12/19(土) 21:20:38ID:???0422nobodyさん
2009/12/19(土) 21:32:16ID:x0H9DwDhそのやり方を教えて。
関数だけ教えてくれればあと自分でできるから。
でもPHPマニュアル見たけど無かったような
0424nobodyさん
2009/12/19(土) 21:45:24ID:JB1i7e9bCtrl+Shift+FのFormat機能をカスタマイズすることは可能でしょうか?
エディタの設定でtab幅を2にしてるのにFormatすると全部4になってしまったり、
pタグが勝手に改行されたりと、いまいち使い辛いのです。
0425nobodyさん
2009/12/19(土) 21:46:47ID:???http://docs.aptana.com/docs/index.php/Customizing_your_formatting_preferences
0427nobodyさん
2009/12/19(土) 21:56:23ID:???GDにコメント取得はあっても、セットするのがねーな。
ソフトバンクはヘッダつけるだけなので画像データいじらなくてよし。
0428nobodyさん
2009/12/19(土) 21:56:44ID:JB1i7e9bうおーこんなのがあったのか。ありがとうございます!
設定したフォーマットをエクスポートして共有できるとかすご過ぎる
0429nobodyさん
2009/12/19(土) 21:58:02ID:???http://feed.designlinkdatabase.net/feed/outsite_2882.aspx
あう
http://au.kddi.com/ezfactory/tec/spec/gif.html
0431nobodyさん
2009/12/19(土) 23:57:46ID:5CrPM6Aj$val = isset($array[$key]) ? $array[$key] : NULL;
unset($array[$key]);
return $val;
}
みたいな関数は標準でありますか。
ようは、配列から値を取り除きつつ、その取り除いた値を取得したいということです。
0432nobodyさん
2009/12/20(日) 00:14:51ID:???http://php.net/manual/ja/ref.array.php
無いっぽいね。
というか、配列は参照渡しにしないと、やりたい事が出来ないよ
function array_delete(&$array,$key){ 〜〜
0433340
2009/12/20(日) 00:45:15ID:???気持ち程度にコメント追加しました
あと、代表的な処理のアクティビティ図と、ER図も追加して
jQueryを使って遊んでみたものをうpしてます
SQLインジェクション対策は必須だと思うけどしてませんw
mysql_real_escape_string()を通すとDBに追加、更新ができなかったので
コメントにしてますが原意を調べる時間をとってません
0436nobodyさん
2009/12/20(日) 02:37:27ID:???0437nobodyさん
2009/12/20(日) 03:03:16ID:???0438nobodyさん
2009/12/20(日) 05:59:44ID:???0439nobodyさん
2009/12/20(日) 08:03:07ID:???0440nobodyさん
2009/12/20(日) 11:00:40ID:???0441nobodyさん
2009/12/20(日) 11:27:53ID:???標準の関数がなくても、下の2行で済むんじゃない?
自作の関数もいらないような・・。
$val = $array[$key];
unset($array[$key]);
0442nobodyさん
2009/12/20(日) 12:20:31ID:Zrftzoad0443nobodyさん
2009/12/20(日) 12:38:18ID:???0444nobodyさん
2009/12/20(日) 12:46:07ID:???0445nobodyさん
2009/12/20(日) 12:54:54ID:???0446nobodyさん
2009/12/20(日) 12:55:48ID:???0448nobodyさん
2009/12/20(日) 13:09:01ID:???PHP検定を主催してボロ儲けなんてどうだろ
0449nobodyさん
2009/12/20(日) 13:10:54ID:???テンプレート→Smarty
フレームワーク→CakePHP・ZendFramework
このあたりが日本で主流だと思われる
フレームワークを使う場合テンプレートエンジンは別に必要ではない
ライブラリは環境依存になることが多いのでなるべく使わないようにする(特にPECLはSUでないとインスコできない)
あとは使用するプログラムのライセンス形態を調べること
SmartyはLGPLなので商用では注意が必要(この辺が面倒で自分はテンプレートは自作したものを使ってる)
0450nobodyさん
2009/12/20(日) 13:21:26ID:???フレームワーク使おうが使うまいがテンプレートエンジンは別に必要ではない
0451nobodyさん
2009/12/20(日) 13:29:39ID:???$body = "%8F%91%82%AB%8D%9E%82%DE&FROM=%66%75%73%69%61%6E%61%73%61%6E&MESSAGE=test&bbs=php&key=1260247989&time=1";
$length = strlen($body);
$head = "POST /test/bbs.cgi HTTP/1.1\r\nHost: pc11.2ch.net\r\nUser-Agent: monazilla/1.00\r\n".
"Referer: http://pc11.2ch.net/test/read.cgi/php/1260247989/l50\r\nContent-Type: application/x-www-form-urlencoded\r\n";
$out = $head."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("pc11.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
$cookie = "Cookie: ";
while (!feof($fp)) {
$str = fgets($fp, 128);
if (strpos($str, "Set-Cookie: ") === 0) {
$str = str_replace("Set-Cookie: ", "", $str);
list($cook, ) = explode(";", $str);
$cookie .= $cook."; ";
}
}
fclose($fp);
$cookie .= "NAME=\"\"; MAIL=\"\"; suka=pontan\r\n";
$out = $head.$cookie."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("pc11.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
?>
0452nobodyさん
2009/12/20(日) 13:33:50ID:???これ実行してもなぜか書き込めません><
他の人はどうですヵ?;;
0453nobodyさん
2009/12/20(日) 13:35:12ID:HokspEf/【連携ソフトウェア】Apache2.2 【やりたいこと】 mail()を使ってメールの送信
参照したサイト: ttp://www.php.net/manual/ja/function.mail.php ttp://www.php-labo.net/tutorial/php/mail.html
下記コードでメール送信を試みましたが、2個のエラーメッセージが出ました。
$to = 'abc@ne.jp';
$subject = 'the subject';
$message = 'hello';
//
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
if (mail($to, $subject, $message, $headers)) {
echo "メールが送信されました。";
} else {
echo "メールの送信に失敗しました。";
}
エラーの内容は以下の通りです。
Notice: Undefined variable: headers in C:\〜\MailTest_01.php on line 10
***
これは $headers .= 'From: Birthday Reminderの箇所でこれを削っても駄目でした。
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\〜\MailTest_01.php on line 13
メールの送信に失敗しました。
***
Line13は、if (mail($to, $subject, $message, $headers)) { の所です。
どう修正すべきでしょうか?
やっぱり、本物のサーバーにUpしないと駄目なのでしょうか?
0454nobodyさん
2009/12/20(日) 13:37:33ID:???ローカル環境でメールサーバ構築してテストしれ
0455nobodyさん
2009/12/20(日) 13:43:48ID:???0456nobodyさん
2009/12/20(日) 14:58:46ID:???【PHPのバージョン】 php 5.2.6
【質問内容】
php.iniでの
zend_extension=xxx.so
のような設定をhttpd.conf内で記述したい場合、どの様にしたら良いのでしょうか。教えて下さい。
0458456
2009/12/20(日) 15:26:32ID:ruVQmLxH0459nobodyさん
2009/12/20(日) 15:38:17ID:???http://jp2.php.net/manual/ja/configuration.changes.php
0460456
2009/12/20(日) 15:55:24ID:ruVQmLxH試したのですが、どうやらロードされていない雰囲気です、、、(phpinfoで確認しました)
先に言っておくべきだったのですが、ロードしたいのはxdebugです
0461nobodyさん
2009/12/20(日) 16:12:44ID:???0462453
2009/12/20(日) 16:14:27ID:???ありがとうございます。
>>メールサーバ構築してテスト
>>送信サーバ設定をそのまま書きこむ
すいません。全く手法が分からないのでヒントを下さい。
0463nobodyさん
2009/12/20(日) 16:15:10ID:???そこでアカウントの設定で送信サーバとか入れてるだろ?
0464nobodyさん
2009/12/20(日) 16:16:12ID:Fw0pzpEVとするのと、
echo sprintf("%s=%s&%s=%s&%s=%s", $k1, $v1, $k2, $v2, $k3, $v3);
とするのでは、どっちがどのくらい速いでしょうか。
0465nobodyさん
2009/12/20(日) 16:17:53ID:???0467456
2009/12/20(日) 16:47:24ID:ruVQmLxHphp_admin_value zend_extension "/usr/lib/php5/20060613/xdebug.so"
上記の設定を書き加えましたが、phpinfoにはxdebugについての情報が一切吐かれませんでした。
php_admin_valueの部分をphp_valueに書き換えても同様でした。
もちろん、上記のパスが正しいことは確認済みです。
0468nobodyさん
2009/12/20(日) 16:52:58ID:???あとその行に文法エラーになるような文を書いてApacheの起動に失敗するかも確認
0469456
2009/12/20(日) 17:02:07ID:ruVQmLxHphp_admin_value error_log /path/to/dir
などの様に他の設定を行っていますが、正しく動作しているようです。
php_admin_value zend_extension "/usr/lib/php5/20060613/xdebug.so"
abcdef
などの不適切な設定をした場合、syntax errorでapacheは起動しませんでした。
そもそも、php_valueを用いて、zend_extensionの設定を行うことは可能なのでしょうか・・・?
0470nobodyさん
2009/12/20(日) 17:08:21ID:???ちなみに、php_valueだよ
0471456
2009/12/20(日) 19:12:14ID:ruVQmLxH0472nobodyさん
2009/12/20(日) 21:23:11ID:???【PHPのバージョン】php5.29
【質問内容】
メッセージを既読の状態で imap_append するにはどうしたらいいのでしょうか?
よろしくお願いします。
0474nobodyさん
2009/12/21(月) 21:59:39ID:sxjnmPYw※PHP環境はレンタルサーバーなので不明
CCで複数のメールアドレスに送信する際、(実験で)意図的にエラーメアド
を含ませて、エラーメールを「-f オプション」でメインの宛先に戻そうとしています。
コードは下記です。
$to = 'メインの宛先';
$subject = 'MailTest_02';
$message = 'MailTest_02 desu';
//
$headers .= 'From: Birthday Reminder <送信元メアド>' . "\r\n";
$headers .= 'Cc: 意図的にエラーメアド,正しいメアド@,正しいメアドA' . "\r\n";
$errorTo = "-f送信元メアド"//-f オプションを使用
if (mail($to, $subject, $message, $headers, $errorTo)) {
echo "メールが送信されました。";
} else {
echo "メールの送信に失敗しました。";
}
これだと下の文法エラーが出ます。
Parse error: syntax error, unexpected T_IF in /〜.php on line 16
該当行は if (mail($to, $subject, $message, $headers, $errorTo) なのですが、
間違いが分かりません。ご指摘願います。
0475nobodyさん
2009/12/21(月) 22:18:49ID:???とりあえず、こいつをセミコロンで締めようか。
0477nobodyさん
2009/12/22(火) 00:13:38ID:2mzdqR1Wcaseの値に演算子は使えますか?
0478nobodyさん
2009/12/22(火) 00:15:15ID:???0479nobodyさん
2009/12/22(火) 00:21:17ID:2mzdqR1W即レス感謝です。
0480nobodyさん
2009/12/22(火) 01:20:22ID:???0481nobodyさん
2009/12/22(火) 13:54:57ID:???1.ダウンロードしたいファイルの全体サイズを要求して、帰ってきた値をn分割する
2.サーバーからn個の塊(セグメント)のそれぞれのバイナリの最初からをダウンロードする
3.最後に保存したバイナリを結合
サーバーに負担かけるけど、これで速くなりますよね?理論上
0482nobodyさん
2009/12/22(火) 14:02:13ID:???0484nobodyさん
2009/12/22(火) 19:26:00ID:hbkj7edcfalse:゙゙,null など
変数を文字列にキャストしたときに、一文字目に文字が存在してればok
みたいな判断がしたいのですが
出来るだけ簡潔に書ける方法ってないでしょうか?
一行で書けるくらいの簡潔さが理想です
0485nobodyさん
2009/12/22(火) 19:33:36ID:???0486nobodyさん
2009/12/22(火) 19:43:44ID:???0487nobodyさん
2009/12/22(火) 22:19:00ID:CYPjupAHSQL全部を渡したらダメなんだな
あと、firefoxでもタスクリストのソートや検索が動くようにjQueryのメソッドを使うようにした
http://www.geocities.jp/retort_curry119/TaskManage.htm
直接途中のページにアクセスされるのを禁止するには
$_SERVER[HTTP_REFERER] で許可するページかどうかチェックする方法?
もっといい方法ありますか?
0488nobodyさん
2009/12/23(水) 00:24:47ID:???何から始めればいいのでしょう・・・ HTMLのソースならあるのですが(´・ω・`)
0489nobodyさん
2009/12/23(水) 00:40:17ID:5FKPpQ9S0490nobodyさん
2009/12/23(水) 00:45:48ID:5FKPpQ9S0491nobodyさん
2009/12/23(水) 00:46:12ID:???奇遇だな、俺も今それでなやんでいたんだ
bodyの部分だけバイナリでファイルに書き込んでgzの拡張子にしてもなんだか壊れてるとかで開けなかった
もしわかったらこのスレに書き込んでくれ
俺もわかったら書き込むわ
0492nobodyさん
2009/12/23(水) 00:47:49ID:cvJgDWhA今日は解決できなかったから寝るけど明日にでもまたやってみるわ
0493nobodyさん
2009/12/23(水) 00:57:59ID:5FKPpQ9S圧縮されたデータをbase64エンコードしてDATAスキームとして読み込みgzopen -> gzreadしました
$data = curl_exec($ch); //gzip圧縮されたデータ
$data = "data:application/x-gzip;base64,".base64_encode($data); // dataスキームに整形
$fp = gzopen($data,"r"); // gzopen
echo gzread($fp,1024); //読み込み
0494nobodyさん
2009/12/23(水) 00:59:41ID:???0495nobodyさん
2009/12/23(水) 01:19:52ID:VLbb10P/0496nobodyさん
2009/12/23(水) 01:27:35ID:5FKPpQ9S$data_scheme = "data:application/x-gzip;charset=iso-8859-7,".urlencode(curl_exec($ch));
$fp = gzopen($data_scheme,"r");
echo gzread($fp,524288);
>>494
この方法だと一度ファイルに書き込む必要が有りますよね
データ取得する度にファイルを生成するのは避けたいのです
0497nobodyさん
2009/12/23(水) 05:40:00ID:9xQ+acVIそして返ってきたヘッダーにsetCookieが有った場合、それを任意のファイルに保存する事が出来、
そのファイルを指定すると、そのクッキー内容をセットして送信してくれる
またその関数はオプションで、レスポンスヘッダーにLocationが存在した場合、自動的にそのURLにリダイレクトもしてくれる
という関数を探しています。
以前使った記憶があるのであるはずなのですが、どうにも検索出来ません。
php cookie ですと、サーバーからクライアントにクッキーを渡す、受ける方法しか出てこないので。
この関数に心当たりの有る方、是非教えてください。
0498nobodyさん
2009/12/23(水) 06:20:09ID:yNzqV2OY用途を言え
さすれば>>499が答えてくれるはず
0500nobodyさん
2009/12/23(水) 07:13:44ID:9xQ+acVIそれです。ありがとうございました。
>>498
サイトのソースを取得したかったが、file_get_contentsだと「オメーのアクセス不正だからデータ出してやんねー」
って弾かれるから、セッションとかその辺がいかんのかなぁと思って聞いた。
が、どうもUAが空なのが原因だったらしい。
0501nobodyさん
2009/12/23(水) 09:31:57ID:???stream_filter_append で convert.base64-decodeと bzip2.decompress なんて手も。
0502nobodyさん
2009/12/23(水) 10:34:14ID:cvJgDWhA俺もやってみるわ。なんか書き込んでとか生意気なこといったのに応じてくれてありがとう
0503nobodyさん
2009/12/23(水) 10:35:28ID:GedKCbN8function print_current_date($params, &$smarty)
{
if(empty($params['format'])) {
$format = "%b %e, %Y";
} else {
$format = $params['format'];
}
return strftime($format,time());
}
?>
質問させてください。
関数print_current_dateの第2引数 &$smarty の意味が分かりません
参照渡しだと言う事は分かるのですが、引数に指定された時にはいったいどういう挙動をするのでしょうか?
0505nobodyさん
2009/12/23(水) 10:50:58ID:???その関数でsmartyの機能を参照できるようにするためで、引数に渡される。
使わないなら何もしない。 その関数の中で $smarty->trigger_error とか使うためのもの。
0506nobodyさん
2009/12/23(水) 11:04:44ID:GedKCbN8ありがとうございました
0507nobodyさん
2009/12/23(水) 17:00:21ID:NNi2TGwI何も表示されません。
クッキーの受け渡しは出来ているのですが、
もしかしてIFRAMEだとクッキーを認識しないのでしょうか?
0508nobodyさん
2009/12/23(水) 17:15:07ID:???してみろ
0509nobodyさん
2009/12/23(水) 17:28:54ID:???0510507
2009/12/23(水) 17:28:57ID:NNi2TGwIPHPSESSIDはでますが、クッキー用の変数は出ません
0511nobodyさん
2009/12/23(水) 17:33:01ID:???0512nobodyさん
2009/12/23(水) 17:35:08ID:???ブラウザの戻るボタンと同様の動作はできますか?
リダイレクトheader('Location〜だと新しく読み直してしまうんですが・・
0513507
2009/12/23(水) 17:37:59ID:NNi2TGwIクッキーを渡すURLがhttp://localhost/admin/setting.php
クッキーを受け取るURLがhttp://localhost/test.php です。
渡し方はsetcookie("test_cookie","1");としています。
0515507
2009/12/23(水) 17:42:05ID:???setcookie("test_cookie","1",time()+3600,"/");
とすれば良いみたいです。おさわがせしました。
0517nobodyさん
2009/12/23(水) 20:59:16ID:IsKOC7oo【libxslt Version】1.1.24
XSLTProcessorなんだが
【×】
<xsl:variable name="fragment" select="'091223006'"/>
<xsl:template match="a[@name=$fragment]">
<div><xsl:value-of select="$fragment" /></div>
</xsl:template>
↓
Undefined variable
compilation error: file xxxx.xsl line 2 element template
Failed to compile predicate
【○】
<xsl:variable name="fragment" select="'091223006'"/>
<xsl:template match="a[@name='091223006']">
<div><xsl:value-of select="$fragment" /></div>
</xsl:template>
↓
<div>091223006</div>
なんで上のがエラーなんだよ。
死ねクソPHP。
0518nobodyさん
2009/12/24(木) 03:35:43ID:???ワロタw
0519nobodyさん
2009/12/24(木) 03:36:29ID:???0520nobodyさん
2009/12/24(木) 15:58:09ID:RlAOKAtPhoge::poge()
ってどう使い分ければいいんでしょうか?
0521nobodyさん
2009/12/24(木) 16:08:47ID:K1JQdV/Rぐぐってみれ
0522nobodyさん
2009/12/25(金) 02:20:42ID:???0523nobodyさん
2009/12/25(金) 02:21:45ID:???SmartIRCを使ってチャンネルのトピックや参加人数を
変数に取得したいのですが、やりかたがわからず。。
どなたか教えていただけると助かります。
0524nobodyさん
2009/12/25(金) 02:39:45ID:???0525nobodyさん
2009/12/25(金) 11:09:57ID:BJR7sXEG<?php
$test=$_GET['key'];
if($test==='aiueo'){
/* srcディレクトリにあるtest.zipをダウンロード開始 */
}else{
/* 何もしない */
}
?>
で、keyをphp側で受け取って'aiueo'と一致すれば
test.zipのダウンロード開始をしたいです。
このダウンロード開始というのは、
ブラウザで右クリック保存を押したときに、
保存画面が表示されるときのような感じです。
(または単に、.zipのようなファイルにアクセスがあったとき
ブラウザ側で勝手に拡張子を判断してダイアログをだしてくれるような)
keyが一致すれば、test.zipまでのファイルのパスを
aタグで指定したのを表示して〜(<a href="http〜〜〜/src/test.zip" title="test">ダウンロード</a>)
みたいに二段階だと簡単にできるのですが、一段階だと思うようにできません。
自分なりに考えたのが、RewriteRuleでtest.zipにアクセスがあったときtest.phpへつなぐようにして、
php側でkeyが一致したとき
echo file_get_contents('./src/test.zip');
を実行、
ダウンロード自体はhttp〜〜/src/test.zip?key=aiueoでアクセス、という感じです。
これなら一応できるにはできたのですが、そのままファイルの内容を表示してしまうので
実質urlの上で右クリックダウンロードしかできないし、そもそも間違った方法のような気がします。
ようは、普通ならhttp〜/src/test.zipへアクセスすれば単純にダウンロードできるところをkey一致の段階を付け足したいというところです。
ファイルのタイプはzip以外にもで、keyのaiueoも一定時間で変化するようにできたら、と考えています。
何か良い方法があればアドバイスお願いします。
PHP5.2.6 Apache2
0526nobodyさん
2009/12/25(金) 11:12:03ID:???http://jp2.php.net/manual/ja/function.header.php
0527nobodyさん
2009/12/25(金) 11:21:44ID:BJR7sXEGおぉ、こんな簡単な方法が。
やりたいことができました!
ありがとうございました。
0528nobodyさん
2009/12/25(金) 11:31:51ID:v7rwUytB会社の意向でPHPを2週間で習得しなければならなくなりました。
個人的にはrubyやpythonが使えるので今更PHPみたいな名前も構文も
設計思想も時代遅れの糞言語を習得する時間がもったいなくてたまり
ません。RoRやdjangoの素晴らしさを説明してもアホな上司は何もわ
かってくれないし(泣
僕はどうすればいいのでしょうか?アドバイスお願いします。
0534nobodyさん
2009/12/25(金) 12:58:53ID:???>
> 会社 で
> 使え な
> い
> アホな
>
>
> 僕はどうすればいいのでしょうか?アドバイスお願いします。
気にせずクリスマスを祝えばいいと思うよ
0535nobodyさん
2009/12/25(金) 13:07:56ID:???0536nobodyさん
2009/12/25(金) 13:11:14ID:???0538nobodyさん
2009/12/25(金) 13:53:03ID:9hjXXeKP0539nobodyさん
2009/12/25(金) 15:22:23ID:???表示できるフォントあるいは他の解決法があれば教えてもらえないでしょうか。お願いします。
0540539
2009/12/25(金) 16:37:50ID:???0541nobodyさん
2009/12/25(金) 17:06:12ID:ODrit1bBfunction smarty_prefilter_no_php($src, &$o_smarty) {
$result=str_replace("{php}","{ldelim}php{rdelim}",$src);
$result=str_replace("{/php}","{ldelim}/php{rdelim}",$result);
return $result;
}
?>
上記の関数内の変数resultはどちらも「=」で代入されていますが、オーバーライドされないのでしょうか?
0542nobodyさん
2009/12/25(金) 17:24:54ID:???$a = 5 + $a ってだけですね。
0543nobodyさん
2009/12/25(金) 17:35:52ID:ODrit1bBすみません
$a .= 5 のように「=」の前にドットを付けるとそのようになるのは知っているのですが、単なる「=」でもそのように出来るのですか?
-> 等は追記していけるのは分かりますが、=がそのような動作を出来るとは知りませんでした
普通に
$a = Hello;
$a = World;
とするとオーバーライドだれると思うのですが、>>541の場合は第2引数の参照渡しとかが何か影響しているのでしょうか?
0544nobodyさん
2009/12/25(金) 17:48:40ID:???>>543
$a=4;
$a=5+$a;
//ここで$aは9だ。
0545nobodyさん
2009/12/25(金) 17:57:27ID:???変数 $src の中の {php}という文字列を {ldelim}php{rdelim} に置き換えたものを $resultに入れます。
$result=str_replace("{/php}","{ldelim}/php{rdelim}",$result);
変数 $result の中の {/php}という文字列を {ldelim}/php{rdelim} に置き換えたものを $result に入れます。
プログラムの用語でオーバーライドは別の意味に使うので、 ただの変数の上書きの時には使わないです。
0546nobodyさん
2009/12/25(金) 18:15:11ID:???0547nobodyさん
2009/12/25(金) 18:19:15ID:ODrit1bBわかりました
オーバーライドの意味自体を勘違いしていたようです
自分の言いたかったのは上書きでした
ごめんなさい、まだ良く分かっておりません(苦笑)
<?php
$a = Hello;
$a = World;
print $a;
?>
で試すとブラウザには「Hello」が上書きされて「World」と出力されますが、これと、
>変数 $src の中の {php}という文字列を {ldelim}php{rdelim} に置き換えたものを $resultに入れます
という今回のコードでの意味との違いは何なのでしょうか?
str_replace()だと違う挙動になるのでしょうか?
0548547
2009/12/25(金) 18:21:00ID:ODrit1bB非常に馬鹿でした
$result=str_replace("{/php}","{ldelim}/php{rdelim}",$result);
の$resultが見えていなかったようです
ほんとお騒がせしてすみませんでした
0549nobodyさん
2009/12/25(金) 18:27:05ID:???$a += 5
//$a:9
0550nobodyさん
2009/12/25(金) 18:54:34ID:+jc140hL(というより検索クエリ自体が化けているらしく結果も正しくありません)
フォームはGETで、ページはUTF-8です。auはフォームからのデータがSJISになってしまうということは
ググってわかったのですが、どうやってSJIS→UTF-8に変更してデータを送るかがわかりません。。。
どのような方法がありますでしょうか。
0551nobodyさん
2009/12/25(金) 19:09:37ID:dFEOAZcldefine('CARRIER_DOCOMO', 'i');
define('CARRIER_EZWEB', 'e');
define('CARRIER_SOFTBANK', 's');
define('CARRIER_PC', 'pc');function mobileStart()
{
//■php内部文字エンコーディング
mb_internal_encoding('utf-8');
//■header出力
//携帯アクセスでdocomoの場合は、Content-Typeを出力
if (whichCarrier() == CARRIER_DOCOMO) {
header("Content-Type: application/xhtml+xml;");
}
//auのみ、ブラウザキャッシュが効くのでキャッシュ無効にする
if (whichCarrier() == CARRIER_EZWEB) {
header('Cache-Control: no-cache');
}
//■出力バッファ開始
ob_start();
0553taigo ◆RpNs8sZ5pNfE
2009/12/25(金) 21:52:22ID:+jc140hLありがとうございます、が。。。やはり文字化けしてしまいます。
ページ変遷がなく、同じページを読み込んでいるのですが
それが原因となることはありますか?
0554nobodyさん
2009/12/25(金) 22:38:29ID:9hjXXeKPphpとかrubyだとたくさん資料あるのですが自分はC++つかっててよくわかりませんでした。
わかる方いらっしゃったらぜひともよろしくお願いします
0556nobodyさん
2009/12/26(土) 06:41:22ID:3WIBYwDf一つだけならセットできたのですが、違う商品を登録すると上書きされてしまいます。
$_COOKIE[`a`]に登録したいものをarray_pushとかで配列として増やすことは可能ですか?
何度か試したけれどエラーがでて上手くいかないので・・・
0558nobodyさん
2009/12/26(土) 08:40:23ID:???0559nobodyさん
2009/12/26(土) 10:03:43ID:???http://www.php.net/manual/ja/function.setcookie.php
クッキー名で配列を記述することにより、 クッキーの配列を設定することも可能ですが、
複数のクッキー がユーザーのシステム上に保存されることになります。
explode() を使用して ひとつのクッキー上に複数の名前と値をセットすることも 考慮してください。
serialize() の使用はセキュリティーホールになり得るため、 この目的のために使用することはお勧めしません。
0560nobodyさん
2009/12/26(土) 11:08:36ID:wIFCZoqoそれはおそらくphpの話だと思うのですが
0561nobodyさん
2009/12/26(土) 11:32:50ID:???0562nobodyさん
2009/12/26(土) 11:33:15ID:???つまりスレ違い
0563nobodyさん
2009/12/26(土) 11:57:21ID:wIFCZoqoすいませんでした
自分で考えます
0564nobodyさん
2009/12/26(土) 13:33:40ID:wnAP/Wohイメージは2ちゃんねるの外部リンク「http://ime.nu/」と同じです。
具体的な要件は・・・
外部リンクのURL -> http://自分のサイトドメイン/[外部リンクページのURL]という
ページを自動生成
確認ページに外部リンク先のURLを表示させてクリックすると実際にそのページへ飛ぶ
初心者質問かもしれませんが、どなたかお力をお貸しください。
よろしくお願いいたします。
0565nobodyさん
2009/12/26(土) 13:41:29ID:???http://自分のサイトドメイン/index.php?url= [外部リンクページのURL]
確認ページを挟みたいなら、http://自分のサイトドメイン/sure.php?url= [外部リンクページのURL]
0566nobodyさん
2009/12/26(土) 14:13:51ID:cSlUn0miログ保存の処理をしています。(log.phpとします)
このファイルをIFRAMEなどで2つ読み込んだ時、
どちらか一方のログが記録されない場合があります。
同時アクセスが原因だと思いますが、こういう場合どう対処すればいいのでしょうか?
0567nobodyさん
2009/12/26(土) 14:19:08ID:???0569nobodyさん
2009/12/26(土) 14:26:53ID:???0570nobodyさん
2009/12/26(土) 17:54:40ID:7XqYgoy00571nobodyさん
2009/12/26(土) 18:38:14ID:w2S23L5nfunction smarty_resource_db_source($tpl_name, &$tpl_source, &$o_smarty) {}や
function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$o_smarty) {}の
リソース名dbについて教えて欲しいのですが、
((ファイル2))
require_once("../MySmarty.class.php");
$o_smarty=new MySmarty();
$o_smarty->default_resource_type="db";
$o_smarty->display("resource_db.tpl");
の$o_smarty->default_resource_type="db";のリソースの種類dbと、ファイル1のリソース名dbは同じなのでしょうか?
普段はdefault_resource_typeのデフォルトはfileなようですが、もしdbがデータベースを表しているのであれば適当に付けた(?)dbとは意味が違ってくると思うのですが
0572551
2009/12/26(土) 20:21:10ID:XUPV0oR3実はまだつづきがあってね。
それを実行すれば
貼るとながいんだ。
はってもいいかな?
それをrequire_onceして共通関数として
使えば文字化けはなくなるよ。
0573551
2009/12/26(土) 20:56:29ID:XUPV0oR3はらなくてよさそうだ。
0574nobodyさん
2009/12/26(土) 21:07:32ID:wIFCZoqo病気でしょうか?
0575nobodyさん
2009/12/26(土) 21:08:17ID:wIFCZoqoあああはずかしいいいいいいい
0576nobodyさん
2009/12/26(土) 21:24:44ID:/CwwEmigこれのテストコードを書こうとして困っています。
テストするためには当然その関数を呼び出す必要があるわけですが、
そうするとexit()でテストコードが終了してしまいます。
なんかいい方法ないでしょうか。
当方PHP5.2.x使用
0577nobodyさん
2009/12/26(土) 21:29:22ID:???0578nobodyさん
2009/12/26(土) 21:44:59ID:???してほしいのかしてほしくないのかどっちなんだw
0579nobodyさん
2009/12/26(土) 22:09:18ID:/CwwEmig通常はexit()で終了してほしいけど、テストのときは終了してほしくない、ということです。
たとえば
function redirect_to($url) {
header('Location: '.$url);
exit();
}
というのがあって、これをテストしたい場合、
・redirect_to()を呼ぶと引数が Location: ヘッダの値として設定されることをテストする
・(可能なら)exit()が呼ばれることをテストする
ということになると思います。こういうテストがしたいんですけど、PHPでは無理ですか。
0580nobodyさん
2009/12/26(土) 22:13:21ID:???0581nobodyさん
2009/12/26(土) 22:15:48ID:/CwwEmigexit()を上書きできる言語ならできます。RubyとかPythonとか。
0582nobodyさん
2009/12/26(土) 22:19:01ID:???http://www.php.net/manual/ja/book.runkit.php
0584nobodyさん
2009/12/26(土) 23:02:30ID:???何言ってるんだよお前ッ!!
お前がチンチンが痒いって言うから親身に相談にのってやってんだろうが!!
俺だっていそがしんだからな、分かったか?
0585553
2009/12/26(土) 23:21:13ID:???あれからurlencodeとかdecodeとかhttp_outputとか調べて色々試したのですが
まだ解決できていません...
可能であれば貼ってもらってもよろしいでしょうか。
0587551
2009/12/27(日) 01:12:28ID:HTyX6aDgecho '<'.'?xml version="1.0" encoding="Shift_JIS" ?'.'>'."\n";
switch (whichCarrier()) {
case CARRIER_DOCOMO:
case CARRIER_PC:
echo '<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.3) 1.0//EN" "i-xhtml_4ja_10.dtd">';
break;
case CARRIER_EZWEB:
echo '<!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML 1.0//EN" "http://www.openwave.com/DTD/xhtml-basic.dtd">';
break;
case CARRIER_SOFTBANK:
echo '<!DOCTYPE html PUBLIC "-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN" "xhtml-basic10-plus.dtd">';
break;
function mobileFinish()
{
$content = ob_get_contents();
ob_end_clean();
$content = mb_convert_encoding($content, 'sjis-win', 'utf-8');
echo $content;
}
0588551
2009/12/27(日) 01:16:51ID:HTyX6aDg{
echo htmlspecialchars($str, ENT_QUOTES);
}
function whichCarrier()
{
global $_mobile_carrier;
//すでに判別済みの場合は前回結果を返す
if ($_mobile_carrier != null) {
return $_mobile_carrier;
}
$uaList = array(
array(
'regexp' => '!^DoCoMo!',
'carrier' => CARRIER_DOCOMO,
),
array(
'regexp' => '!^KDDI-!',
'carrier' => CARRIER_EZWEB,
),
array(
'regexp' => '!^UP\.Browser!',
'carrier' => CARRIER_EZWEB,
),
array(
'regexp' => '!^SoftBank!',
'carrier' => CARRIER_SOFTBANK,
0589551
2009/12/27(日) 01:17:37ID:HTyX6aDg'regexp' => '!^Vodafone!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^J-PHONE!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^MOT-!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^Semulator!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^Vemulator!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^J-EMULATOR!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^MOTEMULATOR!',
'carrier' => CARRIER_SOFTBANK,
),
);
0590551
2009/12/27(日) 01:21:43ID:HTyX6aDgforeach ($uaList as $item) {
if (preg_match($item['regexp'], $ua)) {
$_mobile_carrier = $item['carrier'];
break;
}
}
if ($_mobile_carrier == null) {
// PCやその他のUAでアクセスされたとき
$_mobile_carrier = CARRIER_PC;
}
return $_mobile_carrier;
}
?>
0591551
2009/12/27(日) 01:31:17ID:HTyX6aDg0592553
2009/12/27(日) 01:33:56ID:???長いコードを貼り付けていただき、ありがとうございます。
これで試してみます!
>>586
ケータイサイトなんです(泣)
0593nobodyさん
2009/12/27(日) 01:34:28ID:NIseTKcNInstallerというのがありません
どこにあるのでしょうか?
【ここにあるはずなのですが】
EXE
ZIP
EXEとZIPしかありません。
http://www.apachefriends.org/en/xampp-windows.html
0594nobodyさん
2009/12/27(日) 01:43:26ID:???0595551
2009/12/27(日) 01:45:37ID:HTyX6aDg0596553
2009/12/27(日) 01:47:52ID:???何回もすみません。
・・・
array(
'regexp' => '!^MOTEMULATOR!',
'carrier' => CARRIER_SOFTBANK,
),
); ←この行でエラーになってしまいます。
・・・
エラー:Parse error: syntax error, unexpected ';', expecting ')'
括弧の過不足など確認してみましたが、コードが複雑すぎて手に負えませんでした。
どのようなエラーでしょうか。。
0597553
2009/12/27(日) 01:49:33ID:???unexpected T_VARIABLE, expecting ')'
となってしまいます。
0598nobodyさん
2009/12/27(日) 01:51:47ID:NIseTKcNEXEをダウンロードすればいいんでしょうか?
0599593
2009/12/27(日) 01:56:11ID:NIseTKcNダウンロードすればいいのでしょうか?
http://sourceforge.net/projects/xampp/
0601nobodyさん
2009/12/27(日) 02:04:29ID:???),
が足りないんじゃない?
あと、
array(
'regexp' => '!^MOTEMULATOR!',
'carrier' => CARRIER_SOFTBANK,
), ←ここのカンマはいらない
);
0602551
2009/12/27(日) 02:07:55ID:HTyX6aDg), はずした。
0603nobodyさん
2009/12/27(日) 02:34:39ID:???0604601
2009/12/27(日) 02:42:07ID:???知ってる。
いま見たら、最後だけじゃなく全箇所不要なカンマ(あっても問題はないカンマ)が入ってるね。
新たに追加するときにカンマを入れ忘れることがあるから、それを防ぐための策だろうね。
0605nobodyさん
2009/12/27(日) 03:31:03ID:???0606nobodyさん
2009/12/27(日) 10:06:19ID:???0607nobodyさん
2009/12/27(日) 12:30:49ID:PylzfMP30608nobodyさん
2009/12/27(日) 14:10:44ID:NIseTKcN0609nobodyさん
2009/12/27(日) 14:11:37ID:???0610中卒
2009/12/27(日) 14:19:30ID:NIseTKcN0611nobodyさん
2009/12/27(日) 14:40:33ID:???0614nobodyさん
2009/12/27(日) 15:03:18ID:???やっぱ好きな分野勉強して好きな仕事した方が良いてことだな
漏れは高卒だが
0616nobodyさん
2009/12/27(日) 15:37:49ID:???0617nobodyさん
2009/12/27(日) 15:57:55ID:???あ、ごめん。給与が本当なら、別人だ。
>>615
25年くらい前は、結構いたらしく、新聞とかテレビなんかでも
若年天才プログラマが取り上げられたりもしていた。
高級言語が普及する前だから、基礎学力や、業務知識よりも、
プログラミングそのものの比重が今より高く、中卒でも実力次第で
就職できたし、景気も良かったから、高待遇だったそうだ
0618551
2009/12/27(日) 17:20:21ID:HTyX6aDg0619nobodyさん
2009/12/27(日) 18:20:11ID:???経歴で六年違うんだから、相当な差があっても不思議じゃない
ましてやこの業界は進化スピードが恐ろしく速い業界だし
0620nobodyさん
2009/12/27(日) 20:20:57ID:EZZjGXhz学生時代にFORTRANとCOBOLの経験が1ミリほどある30代後半だけど
出回ってるSNS改造して公開できるようになるには、
1日2時間の勉強時間が取れたとして
どのぐらいの期間勉強が必要でしょうか。
0621nobodyさん
2009/12/27(日) 20:38:14ID:???0622nobodyさん
2009/12/27(日) 20:40:03ID:???やっぱり、出きる人に頼むか。。。
0623nobodyさん
2009/12/27(日) 21:17:32ID:???無知でも会社で半年働けば大学で習う程度の技術は身に付く
正直、大卒よりも低学歴でも長年やってる奴の方が使える人材が多い気がする
物理演算などを使ったゲームやグラフィックを開発するとかだとそれ相応の学がないとダメなんだろうがな
あ、でも今の時代充実したオープンソースなライブラリなんかがあるか
0624nobodyさん
2009/12/27(日) 22:01:11ID:???mb_strlen()の第二引数のエンコーディングを何に指定すればお味結果が得られますか?
0625nobodyさん
2009/12/27(日) 22:13:25ID:???0626nobodyさん
2009/12/27(日) 22:17:19ID:???ただし、 strlen バイト数がでるとも限らない。
http://www.php.net/manual/ja/mbstring.overload.php
0627nobodyさん
2009/12/27(日) 22:22:17ID:???0628nobodyさん
2009/12/27(日) 22:22:40ID:???それともコピペ?
0629nobodyさん
2009/12/27(日) 22:47:22ID:???必要な部分は自力
0630nobodyさん
2009/12/27(日) 22:54:29ID:???char hoge+=1;
っていう感じのをPHPでやりたいんですが、
どのようにすれば書けば良いんでしょう?
0631nobodyさん
2009/12/27(日) 22:56:37ID:???char hoge+=1;
って書けるのか
0632nobodyさん
2009/12/27(日) 23:04:19ID:???0633nobodyさん
2009/12/27(日) 23:05:49ID:LlMGF4Xbunsigned longとかいってるHPありますが、引数にint func( unsined long num)なんてあったら引数に渡しても大丈夫なんですか?
今までint func( size_t )こんな関数の引数に渡したことくらいしかないのでわからないんですが
0634nobodyさん
2009/12/27(日) 23:06:32ID:LlMGF4Xb0635nobodyさん
2009/12/27(日) 23:14:18ID:???char hoge+=1;
すると何が起こるの?
0636nobodyさん
2009/12/27(日) 23:15:09ID:???0638nobodyさん
2009/12/27(日) 23:37:31ID:???0639nobodyさん
2009/12/28(月) 01:21:27ID:TpCjAyY+これをやめさせることはできますか。
0640nobodyさん
2009/12/28(月) 01:30:13ID:???過去からのいろいろがあって、ドットは変数名にできないから無理だと思うよ
ドットを使わないようにできないの?
0641nobodyさん
2009/12/28(月) 01:40:04ID:???0642nobodyさん
2009/12/28(月) 01:44:01ID:???のnameはGET,POSTともドットがアンダースコアに変わる
valueは変わらないが
http://www.php.net/manual/ja/language.variables.external.php
重要なことを記述しておくと、このため、外部変数に含まれるドットを PHP は自動的にアンダースコアに変換します。
0643nobodyさん
2009/12/28(月) 02:24:21ID:???けど$_SERVER['QUERY_STRING']では勝手に変わる前段階がセットされてるからこれ使って切り分ければいい
0644nobodyさん
2009/12/28(月) 04:18:28ID:TpCjAyY+結論としては、「できない」ということですね。
残念ですけど、「.」を使わない方法を考えることにします。
ありがとうございました。
0645nobodyさん
2009/12/28(月) 07:06:29ID:361SB18Mこれはどうしたら良いでしょうか?</HEAD>の直下に<script type="text/javascript">〜を書くと表示されなくなります
これをphpによってうまくできる方法はないでしょうか どうぞよろしくお願いします
↓
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE>pandoravote</TITLE>
</HEAD>
<FRAMESET cols="136,*">
<FRAME name="left" src="./indexb.html">
<FRAME name="bottom2" src="http://hagehagehage.net/">
<script type="text/javascript">
<!--
document.write("<IMG SRC=\"http://hagehage.net/access.cgi?");
document.write(document.referrer+"\" border=0 width=1 height=1>");
// -->
</script>
<NOFRAMES>
<BODY>
<P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P>
</BODY>
</NOFRAMES>
</FRAMESET>
</HTML>
0646nobodyさん
2009/12/28(月) 08:14:04ID:???0647nobodyさん
2009/12/28(月) 09:16:40ID:361SB18MCGIじゃないと無理だと言われたのであっちを打ち切ってこっちに来たんだもん
0648nobodyさん
2009/12/28(月) 10:01:56ID:???<IMG SRC="http://example.com/access.cgi?<?php echo isset($_SERVER[HTTP_REFERER])?$_SERVER[HTTP_REFERER]:""?>" border="0" width="1" height="1" />
<NOFRAMES>
0649nobodyさん
2009/12/28(月) 10:06:51ID:EdgvHAjX環境:WinXP + Eclipse + Xampp + cakePHP + XDebug
デバッグ実行できるのですが、
ローカル変数の値がすべて<Uninitialized>となっていて中身が見れません。
クラス内変数やスーパーグローバル変数は、値を見ることができます。
ローカル変数のみ、値が見れない状況です。
ネット検索しても、レアな現象なのか解決策が見つかりません。。。
0651553
2009/12/28(月) 10:35:39ID:???すみません、こちらの元から使っているキャリア判定プログラムなどとの
兼ね合いからそのままコードを丸写しで使用することができず
キャリア判定の部分以外をこちらの既存コードに抜粋&貼り付けして
試行錯誤してしますが、いまだ実現できていません。
貼っていただいたコードが「どのような原理」で動作する
ものなのか(キャリア判定部分以外でGET文字列の文字化け解消に必須な項目)の
ヒントをいただけるとありがたいです。
0654nobodyさん
2009/12/28(月) 14:34:43ID:???0655553
2009/12/28(月) 14:39:57ID:???ごめん名前入れなかったが>>653は俺だ。
確かにアドセンススレにいるが、この質問とアドセンスは
関係ないだろと言いたかった。
つーかアドスレ以外のスレにもいるんだがなぜアドスレだけ抜き出すんだ?
0656nobodyさん
2009/12/28(月) 14:42:25ID:???0657nobodyさん
2009/12/28(月) 16:15:51ID:???しかもユーザーが既に入力した箇所は残すフォームを
作りたいのですが、既入力を残す為にキャッシュを
使うとコメントを追加できないと思うのですが
既入力を取り込んでフォームを再構成しなければならないのでしょうか?
0658nobodyさん
2009/12/28(月) 16:19:10ID:???0659nobodyさん
2009/12/28(月) 16:22:03ID:0eE3RWlX携帯のチャットのユーザーエージェントを表示させる位置についてですが、
fputs($fp, "$_GET[n]><font color=$fc>$msg</font><br><font size=1>($now)★</font><hr size=1>\n");
下記コード単体では成功するのですが、★の部分に下記コードを入れるとエラーが出てしまいます。
include_once('Net/UserAgent/Mobile.php');
$agent = Net_UserAgent_Mobile::factory();
//型番の入手
$model = $agent->getModel();
if ($agent->isDoCoMo()) {
echo("お使いの機種はDoCoMoの{$model}です。");
} else if ($agent->isVodafone()) {
echo("お使いの機種はVodafoneの{$model}です。");
} else if ($agent->isEZweb()) {
echo("お使いの機種はEZwebの{$model}です。");
}
どうにかして★の部分にユーザーエージェントを表示させたいのです。
よろしくお願い致しますm(_ _)m
0660nobodyさん
2009/12/28(月) 16:22:51ID:???今は $str[strlen($str)-1] としているのですが、なんかもっといいイディオムがあれば教えてください。
0663nobodyさん
2009/12/28(月) 16:46:34ID:???を
fputs("〜1");
★
fputs("〜2");
になおす
0664nobodyさん
2009/12/28(月) 16:51:48ID:???include_once('Net/UserAgent/Mobile.php');
$agent = Net_UserAgent_Mobile::factory();
//型番の入手
$model = $agent->getModel();
$mStr = "";
if($agent->isDoCoMo()) {
$mStr = "お使いの機種はDoCoMoの{$model}です。";
}else if($agent->isVodafone()) {
$mStr = "お使いの機種はVodafoneの{$model}です。";
}else if ($agent->isEZweb()) {
$mStr = "お使いの機種はEZwebの{$model}です。";
}
fputs($fp, "$_GET[n]><font color=$fc>$msg</font><br><font size=1>($now)$mStr</font><hr size=1>\n");
でうごくんでないの(・ω・)
>>660
substr($str,-1)
0665nobodyさん
2009/12/28(月) 17:10:43ID:???たしかに一から勉強が必要ですね。
>>663さん
二つに分けて表示するんですね。
こうゆう風にすれば色々と応用がききそうですね。
>>664さん
感動しました(>ω<。) 完璧にうごきました。
皆様ありがとうございました!
0666nobodyさん
2009/12/28(月) 17:34:16ID:???そのJavascriptは画像を貼るものだから、親フレームには記載できないよ( ・ω・)
なんで子フレームに貼って、その際に親フレームのリンク元を設定してあげればいいんじゃないかな
<script type="text/javascript">
<!--
document.write("<IMG SRC=\"http://hagehage.net/access.cgi?");
document.write(parent.document.referrer+"\" border=0 width=1 height=1>");
// -->
</script>
document.referrer → parent.document.referrer
Javascriptのスレで聞いたほうがいいかと。
0668nobodyさん
2009/12/28(月) 18:22:59ID:???<?php
include_once("Smarty/Smarty.class.php");
include_once("config.php");
include_once("bbslib.php");
header("Expires","-1");
header("Cache-Control","no-store,no-cache,must-revalidate");
header("Cache-Control","post-check=0,pre-check=0");
header("Pragma","no-cache");
$smarty = new Smarty();
//タイトル
$smarty->assign("sitetitle","簡易BBS");
//サイト名
$smarty->assign("sitename","サイト名");
//サイトメニュー
$menuitems[0]['url']= "http:";
$menuitems[0]['text'] = "ダミー";
$smarty->assign("menuitems",$menuitems);
//ヘッダ
$smarty->assign("head","安易掲示板");
//メインコンテンツ
$contents= array();
$dbh = mysql_connect($db_host,$db_username,$db_password);
if($dbh !== false){
$sqlstr="use$db_name";
mysql_query($sqlstr,$dbh);
0669nobodyさん
2009/12/28(月) 18:26:20ID:???$sqlstr= "select"from mybbs where mark = '0'order by bt desclimit20";
$result = mysql_query($aqlstr,$dbh);
while($row = mysql_fetch_assoc($result)){
$row = sanitate(strips($row));
$row['caption']=$row['dt']."wrote by";
if($row['mailaddr']!="")
#row['caption'].= $row['name'];
if($row['mailaddr']!="")
$row['caption'].="</a>";
$form_id = "form_"$row['id'];
$row['caption'].="<form action="delete.php" method="get"id="'.$form_id.'"style="display": none;"> '.
'<input type="hidden" name="id" value="'.$row['id'].'" />'.
'<input type="password" size="10" name="pass" />'.
'<input type="submit" valuee="id" value="削除" />'.
'</form>'.
'<div style="cursor:pointer;"onClick="JavaScript:document.getElementByld(\".$form_id.'\').style.display=\'block\; this.style.display=\'none\';">削除する</div>';
array_push($contents,$row);
}
}
$smarty->assign("contents",$contents );
0670551
2009/12/28(月) 18:45:39ID:8/lFM/nfいまいちなにがやりたいのかわからないな。
なにをしたいの?
おれのソース見てもなにしているかわからなかった?
内部文字コードはutf-8であっている?
あのソースは
php内部文字エンコーディング→header出力→出力バッファ開始
XML宣言→出力処理→UAからキャリアを判定する
だけど、検索フォームを作っているなら掲示板をはろうか?
少しは役立つかも。
後あなたphpの開発経験ある?
0671551
2009/12/28(月) 18:54:41ID:8/lFM/nfhttp://www.mdn.co.jp/webcre/PHP/vol88/
これそのままコピッてうごかないの?
smartyの設定はちゃんとできている?
0672668
2009/12/28(月) 19:31:15ID:???ありがとうございます。
これは一文字一文字手打ちで打ちました;;
こんなサンプルがあったとは・・・
smarty設定はまだしていません;;
0673nobodyさん
2009/12/28(月) 19:54:27ID:US0yP5HE0674nobodyさん
2009/12/28(月) 20:00:21ID:???runkit.superglobalsという設定でできるそうです。
http://www.php.net/manual/ja/runkit.configuration.php
お騒がせしました。
0675nobodyさん
2009/12/28(月) 20:02:11ID:Zm+8rWo00676551
2009/12/28(月) 20:50:08ID:8/lFM/nf動かないのあたりまえだろ?
DBの設定は?
0677551
2009/12/28(月) 21:05:58ID:8/lFM/nfといいなんかつられている?
こいつらもしかしておれをひっかけるために
レスしている?
遊ばれている?
0679nobodyさん
2009/12/29(火) 00:26:53ID:OOP15gnWどうしたらいいでしょうか?
php自体で其れが出来ますでしょうか?
0680nobodyさん
2009/12/29(火) 00:41:54ID:???0682nobodyさん
2009/12/29(火) 02:15:20ID:???0683nobodyさん
2009/12/29(火) 02:56:21ID:???0684nobodyさん
2009/12/29(火) 03:25:17ID:???0685nobodyさん
2009/12/29(火) 05:01:42ID:85TzBbP8【PHPのバージョン】php5.25
【連携ソフトウェア】MAMP 1.7.1 (Apache 2.0.59 / MySQL 5.0.41)
【質問内容】
PHPでMySQLデータベースのレコード更新が失敗します。
以下記述でmysql_query送信しているのですが間違っていますか?
(SQLのスレは活発じゃないみたいなのでこちらへ書きました)
UPDATE table SET 'count'='3' WHERE 'id'='1'
以下 mysql_error() の出力結果
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''count'='3' WHERE 'id'='1'' at line 1
0686nobodyさん
2009/12/29(火) 05:10:14ID:???0687nobodyさん
2009/12/29(火) 05:11:52ID:???intは`いらない
あとPHPエラーコード見るよりもコンソールで出るエラー見た方がわかりやすいよ
0688685
2009/12/29(火) 05:15:45ID:85TzBbP8やっぱり単純なミスだったか。
動きました、有難うございました。
0690680
2009/12/29(火) 06:32:23ID:W5Cv9ckCこのサイトに行き着いたのですが、configureでエラーが出てしまいました
どこがおかしいのでしょうか、どうぞよろしくお願いしますm(_ _)m
1
[root@localhost ffmpeg-php-0.6.0]# ./configure
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
0691680
2009/12/29(火) 06:33:12ID:W5Cv9ckCchecking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib
checking for PHP extension directory... /usr/lib64/php/modules
checking for PHP installed headers prefix... /usr/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... re2c
checking for re2c version... invalid
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for ffmpeg support... yes, shared
checking whether to force gd support in ffmpeg-php... no
checking for ffmpeg headers...
configure: error: ffmpeg headers not found. Make sure ffmpeg is compiled as shared libraries using the --enable-shared option
ここまで
0692nobodyさん
2009/12/29(火) 09:14:45ID:1YmGiMBBあいうえおかきくけこあいうえお↓
さしすせそたちつてとさしすせそ
}
というファイルから、「す」と「つ」の間の文字を取得したいと思っています。
そこで、関数を調べて以下のプログラムを考えたのですが、手順として問題ないでしょうか?
もし便利な関数があれば教えて頂きたく。
特に「fgets」の使い方がよくわかりません。よろしくお願いします。
1)ファイルのポインタを取得する
aFile = fopen( $a.txt, r);
2)ファイルを1行取得する
While( $LineFile = fgets($aFile) ){
3)ファイル1行の中に”す”と”つ”があるかサーチ
$IdxSta = strpos($LineFile , "す")
$IdxEnd = strpos($LineFile , "つ")
4)"す"と"つ"が両方あり、”す”より”つ”の位置の方があと
if($IdxSta + 1 < $IdxEnd - 1 ){
5)"す"と"つ"の間の文字だけを抜き出す。
$output = mb_substr($LineFile, $IdxSta+1, $IdxEnd-1)
}
}
0693nobodyさん
2009/12/29(火) 10:51:53ID:???正規表現使うという手もあるけど
0694553
2009/12/29(火) 10:54:31ID:ObfZ+/cW釣りじゃないですよ、アドバイスありがたいです。
やりたいことは au端末からGETで日本語を送ると、
送信データ、受け取りデータともに文字化けしてしまうので
これを防ぎたい。ってだけです。
ページ(内部文字コード)はすべてutf-8です。
PHP開発経験はありません。簡単なことはわかるのですが、
バッファ云々が?な感じですのでマニュアルなど調べながら
やっています。
コード貼っていただきながらその後あまり時間が取れなかったので、
いまから再挑戦してみます!
0695nobodyさん
2009/12/29(火) 11:28:11ID:???http://hain.jp/index.php/tech-j/2007/02/13/p125 読んでね。
あとは、サイトの文字コードがなんであろうとも Shift-jisで送られてくることがあります。
文字コードの自働検出は当てに出来ません。
GETに渡す値はurlencodeはつかってますよね?
0696nobodyさん
2009/12/29(火) 12:17:02ID:???./configure
を
./configure --enable-shared --enable-swscale --enable-gpl
で実行してみたらどうじゃろ
0697nobodyさん
2009/12/29(火) 12:23:52ID:???$_GET["query"] = mb_convert_encoding($_GET["query"],'UTF-8','UTF-8,SJIS,EUC-JP');
っていうのを先頭に入れてみたらどうかの( ・ω・)
0699694
2009/12/29(火) 12:40:47ID:ObfZ+/cWありがとうございます。記事読みました。自動変換はアテにならないってことですね。。
いろいろテストした結果、auのみ強制的にshift_jisで送っている(受け取っている)ことは間違いないようです。
ほかにエラーはないので、手動でauのみ指定してやればいいのですが、それがうまくいかない感じなのです。
>>697
ありがとうございます。そちらは指定済みです。mb_detect_encodingでutf-8じゃないときだけconvertしていなのですが、
>>695の記事ではauto detectionもアテにならないようなので、すべて強制的にutf-8にconvertしてみましたがダメでした。
---
結局、>>551さんのutf-8で記述しておいて出力だけshift_jisがよさような気がしていますが、
私の環境ではうまく出力してくれないので、いろいろ試しています。
0700694
2009/12/29(火) 13:08:00ID:ObfZ+/cWが、文字化けは直りません。ちょっと自分でもわからなくなってきてしまいましたので
問題点を整理しました。長文で申し訳ないですがどなたかお力添えを。。
<実現したいこと>
・「GETのquery stringをUTF-8で送りたい(受け取りたい)」
<前提>
・PHP Version 4.4.9
・DBは一切使用していません
・携帯サイトである
・uaにより3キャリア用+PC用に振り分けているが、変えているのはdtdと
docomoのみContent-typeを変えているだけで「ページやコードはすべてutf-8」
・「GETのデータはurlencodeしている」
<試したこと>
・GETのqueryをutf-8にmb_convertしてもダメ
・ob_start→ob_get_contents→ob_end_cleanと出力だけをshift_jisに変えてもダメ
・受け取り時にurldecodeするなどしてみたがダメ
・queryを表示する際mb_convert_kanaで全角カナを半角カナに変えているのをやめたがダメ
例によってマトはずれなこともやっているかもしれませんが。。。
0701nobodyさん
2009/12/29(火) 13:14:16ID:???0703694
2009/12/29(火) 15:47:23ID:ObfZ+/cWob_start(); を ob_start("mb_output_handler");
としたら文字化け解消しました。
>>551さんをはじめ、アドバイスくださった方々本当に
ありがとうございました。年内に解決できて非常に助かりました。
0704551
2009/12/29(火) 16:14:43ID:+XZPbandよかったな。解決できて。
今日さ、大掃除で時間がなくて。
ごめんね。
0705nobodyさん
2009/12/29(火) 16:50:39ID:VOALtVVE例外処理がよくわかりません。
Zend DB側での例外発生時(SQLエラーとか)でも
呼び出し元のほうをtry,catchして処理するのが普通?
常駐先のPHPプログラムは例外をthrowだけして処理してる
部分が見あたらないので、そんな処理でいいのか迷ってます。
アドバイスお願いします。php5.2.xです。
0706680
2009/12/29(火) 20:46:01ID:W5Cv9ckCレスありがとうございます!
しかし結果は同じでした・・
1
[root@localhost ffmpeg-php-0.6.0]# ./configure --enable-shared --enable-swscale --enable-gpl
configure: WARNING: unrecognized options: --enable-swscale, --enable-gpl
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
0707680
2009/12/29(火) 20:49:17ID:W5Cv9ckCchecking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib
checking for PHP extension directory... /usr/lib64/php/modules
checking for PHP installed headers prefix... /usr/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... re2c
checking for re2c version... invalid
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for ffmpeg support... yes, shared
checking whether to force gd support in ffmpeg-php... no
checking for ffmpeg headers...
configure: error: ffmpeg headers not found. Make sure ffmpeg is compiled as shared libraries using the --enable-shared option
引き続き皆様のお力をお借りしたいです どうぞよろしくお願いしますm(_ _)m
0709nobodyさん
2009/12/29(火) 22:35:04ID:???勘違いしてた(・ω・)
./configure --enable-shared
は、ffmpeg-phpじゃなくて、ffmpeg本体のconfigure時にやるですよ
0710nobodyさん
2009/12/29(火) 23:09:51ID:Vq+TKsF0どうすればいいでしょうか?
0711nobodyさん
2009/12/29(火) 23:10:36ID:???0712nobodyさん
2009/12/29(火) 23:24:00ID:pB5Ltbyzini_set('mbstring.internal_encoding', 'UTF-8');
としたのですが、フォーム処理時にEUCでデータが送信されているようで、
文字化けを起こしてしまいました。
ini_setで指定していてもphp.iniに設定されている文字コードの方が優先されるのでしょうか?
0713nobodyさん
2009/12/29(火) 23:38:05ID:???0714nobodyさん
2009/12/29(火) 23:39:37ID:???0715nobodyさん
2009/12/29(火) 23:39:52ID:???0716nobodyさん
2009/12/29(火) 23:45:40ID:+XZPbandエラーメッセージを出せばよいのでは?
>>712
http://www.php.net/manual/ja/mbstring.configuration.php
0717nobodyさん
2009/12/29(火) 23:52:55ID:???0718nobodyさん
2009/12/30(水) 00:09:26ID:skGmLU+Aえーと、質問の仕方が悪かったのかな。
サーバ側でDBにクエリーなげたまま、タイムアウトしないので、
ブラウザがレスポンス待ち状況といった感じです。
一応、my.iniファイルで
innodb_rollback_on_timeout = on
と設定してるのですが、機能してない感じです@@
0719718
2009/12/30(水) 00:10:11ID:skGmLU+Amy.iniで
innodb_lock_wait_timeout = 10
も設定してます。
0720nobodyさん
2009/12/30(水) 00:16:48ID:a1sThYv50721718
2009/12/30(水) 01:17:55ID:skGmLU+AMySQLって、ロックのタイムアウトが設定できないみたいですね。
バカみたいに永遠に待ち続けるみたいです。
だったらinnodb_lock_wait_timeout なんていう紛らわしいオプションは何なんだろ。
フリーだけあって、クソDBだこりゃw
0722nobodyさん
2009/12/30(水) 06:44:24ID:???PHPのタイムアウトが返ってくるでしょ
0723nobodyさん
2009/12/30(水) 08:48:55ID:5adIyASgWeb上のhtmlファイルをfgets()関数を用いて順次行を読み取りたいと思うのですが、
$FileHtml = "○×.html";
for(){
$LineHtml = fgets($FileHtml)
}
とすれば、$FileHtmlが2行目以降のポインタを次々取得し、
2行目以降のソースも取得できるのでしょうか?
0724nobodyさん
2009/12/30(水) 09:56:59ID:???>>723
なにからつっこめば
http://www.php.net/manual/ja/function.fgets.php
0725723
2009/12/30(水) 10:09:12ID:5adIyASg$FileHtml = fopen($AddressHtml);
$LineHtml1 = fgets($FileHtml)
$LineHtml2 = fgets($FileHtml)
ごめんなさい。
htmlも fopen()しないとだめですよね。
for文等は省略していましたが、解りにくいので書き方を変えました。
ファイルの2行目のポインタを得たいのですが、その方法が良くわかりません。
上記構文ではうまくいかないように思うのですが・・・
0726723
2009/12/30(水) 10:13:46ID:5adIyASgfopen(,r)が抜けていましたが。
それを除けば725で正常に取得できると思って良い・・・のかな。
0728nobodyさん
2009/12/30(水) 10:19:58ID:???0729nobodyさん
2009/12/30(水) 11:31:31ID:???0730723
2009/12/30(水) 12:44:43ID:5adIyASg多いものだと2万行くらいのHtmlファイルを読み込む可能性があるため、
fileではメモリが怖いなぁと思って、fgetsを使おうと思ったのですが・・・
しかし、fileだと問題無く動くのですが、思い通り動いていません。
724さんのを参考にというかアドレスをhtmlに書き変えただけでやってみましたが、
String値しか取得できていませんでした。
あと、どこを直せばいいのでしょうか?
<?php
$handle = @fopen("http://○×.html", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
?>
0731nobodyさん
2009/12/30(水) 13:53:29ID:???全く同じページの出力が出来た。
ちゃんとそのソースは動くと思うけど
0732nobodyさん
2009/12/30(水) 14:12:15ID:nBvXEJIC環境はwindows xp、自宅サーバー(apache Version 2.053)、PHP Version 4.3.11
レッツPHPさんのチャットスクリプト http://php.s3.to/chat/ch.php.txt(ソース)
を自宅サーバーで公開しようとしたところ、下記のようなエラーが出てしまいました。
自宅サーバーを構築する前に、レンタルサーバーでテストした際には問題なく実行してくれました。
Notice: Use of undefined constant n - assumed 'n' in C:\www\saba\cf\chatroom.php on line 13
Notice: Use of undefined constant c - assumed 'c' in C:\www\saba\cf\chatroom.php on line 14
Notice: Use of undefined constant l - assumed 'l' in C:\www\saba\cf\chatroom.php on line 22
.
.
.
なぜ、テストのときはちゃんとできたのに、できなくなったのでしょうか。。
どのような事が考えられますでしょうか・・
よろしくお願い致しますm(_ _)m
0733nobodyさん
2009/12/30(水) 15:14:29ID:???ログイン関係で実は致命的なセキュリティホールがあるなんてざらだし。
Use of undefined constantはクオート付けろってエラー
$_GET[abc] と $_GET['abc'] はほぼ同じ動きをするけど、セキュリティ的に非常に甘い。時に致命的なロジックエラーになる可能性が高い。
自鯖ならphp.iniの中から
error_reporting = どうたらこうたら
って項目を見つけて
error_reporting = E_ALL & ~E_NOTICE
に書換える
0734nobodyさん
2009/12/30(水) 15:15:44ID:???0735nobodyさん
2009/12/30(水) 15:57:39ID:???なぜ?
0736nobodyさん
2009/12/30(水) 16:07:36ID:???$array['abc'] = '123';
echo $array[abc]; // 123
define('abc', 'def');
echo $array[abc]; // NULLなので表示されない
まぁ連想配列でクオートなしってのは推奨されてない書き方なんで止めるべき
0737nobodyさん
2009/12/30(水) 17:06:42ID:???ありがとうございます。
error_reporting = E_ALL & ~E_NOTICEに書き換えようとした所、
もう既にこのような設定になっていました。
>>734さん
おっしゃる通り、クオート付きコードに書き換えようと調べてみましたが、
無知な初心者がすぐにできるような事ではなく、無理でした。
関係ないかもしれませんがphp.iniのmagic_quotes_gpc = On をOffにしてみましたがやっぱりダメでした。
年内にはできるようにしたかったのですが無理そうです。。
ありがとうございました。。
0738nobodyさん
2009/12/30(水) 17:20:03ID:???0740nobodyさん
2009/12/30(水) 18:55:33ID:???0741nobodyさん
2009/12/30(水) 19:57:03ID:???$_GET[n]を$_GET['n']に書き換えましたが以下のようなエラーが出てしまいました。
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\www\saba\cf\chatroom.php on line 52
なので、$_GET[t]や$_GET[ns]などにも''を付けて、みましたが同じエラーが出てしまいます。
なので、元に戻しエラーをよく見てみると、、
例:Notice: Use of undefined constant n - assumed 'n' in C:\www\saba\cf\chatroom.php on line 13
これについて、なんとなく13行目のnに'n'を付けて下さい。と言う意味と捕らえて他の行も同じように書き換えました。
そしたらエラーが大分なくなりました。>>738さんありがとうございました!
しかし、、、
Notice: Undefined index: l in C:\www\saba\cf\chatroom.php on line 22
というエラーが残ってしまいました。
このタイプのエラーについて調べてみると、
htmlspecialchars(@)を使うと消せるとありましたがうまくいきません・・、
※エラー部分の22行目のソースです
$l = ($_GET['l'] == "") ? 10 : $_GET['l'];
このソースをhtmlspecialchars(@)を使って自分なりに
htmlspecialchars(@$l = ($_GET['l'] == "") ? 10 : $_GET['l'];)
としてみましたがエラーとなってしまいました。。
どのようにかけばエラーが消えますでしょうか・・・
すみません。よろしくお願い致しますm(_ _)m
0742nobodyさん
2009/12/30(水) 21:20:42ID:???なんか色々すごいな。
エラーを出なくするには
$l = (isset($_GET['l']) && $_GET['l'] == "") ? 10 : $_GET['l'];
$l = (empty($_GET['l'])) ? 10 : $_GET['l'];
$l = (!empty($_GET['l'])) ? $_GET['l'] : 10;
とか。
~E_NOTICEしてれば出ないはずなんだけどね。
0743nobodyさん
2009/12/30(水) 22:21:02ID:???プログラムの一番最初に
error_reporting(E_ALL ^ E_NOTICE);
を追加するって技もあるんだけど、こういうのだと難しそうだしなぁ。
0744nobodyさん
2009/12/30(水) 22:32:33ID:???0745nobodyさん
2009/12/30(水) 22:41:21ID:+olHzS1B後xamppもphp.iniは一個だけでしょう?
0746nobodyさん
2009/12/30(水) 22:44:54ID:???さらにphp4の下にphp.iniとphp4.iniがあるっていう構造だったり。
でも変更が必要なのはapache/bin/php.iniだという、
初心者は確実に勘違いするような感じだったりする。
0747nobodyさん
2009/12/30(水) 23:27:25ID:AOSiAt9qこれは一体どういうことです?
$a = 3147483647;
echo (int)$a; // -1147483649
0748nobodyさん
2009/12/30(水) 23:40:28ID:???0750nobodyさん
2009/12/31(木) 00:21:31ID:???0751680
2009/12/31(木) 05:48:39ID:a+pevmsQお礼遅くなりましたが有難うございます
うまくできました
感謝です
0752nobodyさん
2009/12/31(木) 10:41:15ID:???正規表現君
OCN君
ちんぴら君
0753nobodyさん
2009/12/31(木) 11:53:17ID:F0ShAh3cお薦めの商品(アマゾンみたいなぁ)を表示させたいのですが
参考になるサイトとかライブラリがあれば教えてください
0755nobodyさん
2009/12/31(木) 12:12:07ID:F0ShAh3c0756nobodyさん
2009/12/31(木) 12:17:38ID:F0ShAh3cレコメンドエンジンっていうんだね
ttp://dameda.org/2009/09/02/post_292.html
0757nobodyさん
2009/12/31(木) 12:28:04ID:???0758nobodyさん
2009/12/31(木) 12:35:37ID:???「PHP CSV」と検索してもファイルから前提のfgetcsvでの利用方法ばかりで
文字列からの読み込みの情報が見あたらないです。
CSVデータはファイルから読み込むのではなくて変数内の文字列から処理させる良い方法は無いでしょうか?
自分で考えた無理やる方法としては
文字列の内容を作業ファイルを作ってファイル書き込みしてそれをfopenでオープンしてfgetcsvで読み込む方法。
ただ関数でも作って何とかなるなら参考になるサイトとか無いですか?もしくは関数を書いてもらえれば助かります。
0759nobodyさん
2009/12/31(木) 12:49:47ID:???0760nobodyさん
2009/12/31(木) 12:52:43ID:???0761nobodyさん
2009/12/31(木) 12:56:37ID:oi0jVub9できません。
0763758
2009/12/31(木) 13:15:50ID:AqAvYeuSごめん。ID出し忘れた。
でファイルに書き込むのではなくてメモリ上に書き込んでの方法を今試しているのですが
$data_array = array("111,222,333,444","あいうえお,かきくけこ,さしすせそ");
$data = join("\n",$data_array);
$fp = fopen('php://memory', 'r+');
fwrite($fp, $data);
rewind($fp);
while ($value = fgetcsv ($fp, 1000, ",")) {
print_r($value);
}
fclose($fp);
こんな感じのサンプルができた。
これよりスマートな実現方法ってあるかな?
0764nobodyさん
2009/12/31(木) 13:22:53ID:???ど偉そうに質問していいスレ池バカ
0765nobodyさん
2009/12/31(木) 13:35:23ID:???◆質問する時の注意
・ 質問者として、態度をわきまえること。
以下誘導
http://pc11.2ch.net/test/read.cgi/php/1158647441/l50
0766nobodyさん
2009/12/31(木) 16:19:53ID:???>>758
http://www.google.com/codesearch/p?hl=ja#c6JkLta30kQ/trunk/qtxtdb.class.php&q=str_getcsv
507-556行
0767758
2009/12/31(木) 17:21:43ID:AqAvYeuS何処に問題ありますか?
>>766
ありがとうございます。
こんなそのままのソースがあるとは思いませんでした。
ただ、一つ気になるのが「License: Unknown」くらいでしょう。
今書いているソース商用にも使うかも知れないので下手(GPL)なライセンスのソースを
組み込むわけにも行かないのでこのソースを読んで自分でアルゴリズム構築し直して
ソースを書き起こしなおした方がいいかも知れませんね。
とりあえず現状ではPHP5.3.0以上ではstr_getcsvで
5.1.0から5.2.xでは自分で書いた>>763の方式で(php://memoryが5.1.0からのサポートなので)
でそれ以前では>>766さんが出してくれたソースをベースにって事になりそうです。
0768nobodyさん
2009/12/31(木) 17:36:24ID:???回答者だからといって調子に乗るな的なことをテンプレいれてもいいのでは。
0770758
2009/12/31(木) 18:35:18ID:AqAvYeuS>>766で書いてくれたURL先のソース使うのと
>>763での方式で「'php://memory」ではなくて実際にファイルに一時的に書き出す方式はどっちがはやいのかな?
検証してみた方がいいかな。
ステップ数だけはファイルに一時的に書き出してfgetcsvで拾ってくる方式なのは確かだけど
0771nobodyさん
2009/12/31(木) 18:47:39ID:Y4/O1MTAだいたいなんでphpとかやっているんだよ。
大晦日に
0772nobodyさん
2009/12/31(木) 21:40:41ID:???態度が悪いのは回答者ではなくて
回答せずにヤジだけ飛ばすバカ。
どうせこういうヤジだけの奴はPHPすらろくにできないのでしょうね。
どうしてそんなPHPできない奴が、このスレにいるのかは疑問だけどね。
0774nobodyさん
2009/12/31(木) 22:31:33ID:???0777nobodyさん
2010/01/01(金) 00:22:34ID:adVuwjbe去年よりもphpができるようになりたいな。
phpの仕事がへりませんように
0778nobodyさん
2010/01/01(金) 00:38:34ID:???サービス残業を
0779nobodyさん
2010/01/01(金) 01:41:30ID:???0780679
2010/01/01(金) 05:42:56ID:Yt86zcJv動画なら抽出出来るのですが、ゲームだと出来ません
あと、抽出した画像のサイズを例えば、300×300以内にサムネイルって出来ますでしょうか?
どうぞよろしくお願いします<m(__)m>
0781nobodyさん
2010/01/01(金) 08:48:49ID:???0782nobodyさん
2010/01/01(金) 10:41:31ID:???動画変換だから無理なんじゃないかなぁ
こっちで聞くといいよ(・ω・)
http://pc11.2ch.net/test/read.cgi/linux/1232095273
0783679
2010/01/01(金) 11:26:51ID:Yt86zcJvありがとう
そっちで聞いてみます
0784nobodyさん
2010/01/01(金) 16:53:29ID:A1Hlzrb8オープンソースある?
0785nobodyさん
2010/01/01(金) 17:18:16ID:???0786nobodyさん
2010/01/01(金) 18:27:57ID:A1Hlzrb8Smarty,MySQL,ZF,CakePHP,wordpressレベルのオープンソース作った日本人いる?
0787nobodyさん
2010/01/01(金) 18:28:42ID:???0788nobodyさん
2010/01/01(金) 18:29:03ID:???0790nobodyさん
2010/01/01(金) 18:51:34ID:???0791nobodyさん
2010/01/01(金) 18:56:53ID:???0792nobodyさん
2010/01/01(金) 19:00:47ID:???0793nobodyさん
2010/01/01(金) 19:11:05ID:???0794nobodyさん
2010/01/01(金) 19:37:23ID:z0QJlOXoPEARとかにありそうなんだけど、みつかりません。探し方が悪い?
function とか class とか $xxx とかコメント(/*〜*/)に自動的に<span style="red">とか付けてくれるライブラリです。
0795nobodyさん
2010/01/01(金) 19:40:00ID:???0796nobodyさん
2010/01/01(金) 19:43:55ID:A1Hlzrb8そいつら書くことは立派だが、なんかなぁ〜
あ、おれはもっとカスだけど
0797nobodyさん
2010/01/01(金) 19:44:10ID:???highlight_string()
もしくは、拡張子をphpsにして表示。
0798nobodyさん
2010/01/01(金) 19:45:36ID:A1Hlzrb80799nobodyさん
2010/01/01(金) 19:47:28ID:???- ファイル名.phps にしてアクセスすると
ソースが色づけされて表示される.
- 方法
httpd.conf に以下を記述
AddType application/x-httpd-php-source .phps
0801nobodyさん
2010/01/01(金) 20:08:16ID:z0QJlOXoあ、JavaScriptだとサーバーに負荷がかかんなくていいですね!
>>797 >>799
なるほど!!そんな方法があったんですね!!
>>798
ありがとうございます!
0802nobodyさん
2010/01/01(金) 21:00:26ID:hR+m4MNrtest.php?hoge=1&test=2にアクセスするとYESと表示されるんですけど
test.php?hoge=1 にアクセスした時に、OKと表示させたいので下記のようなコードを作り
希望通りにはなったのですが・・・・
testは2だけではなく 2,3,4,5,・・・・20まで続いてます。
これをif文でやるとどれだけ手間がかかることやら、、どなたか良い方法教えてください
if($_GET["hoge"] ==1 && $_GET["test"] == 2){
echo "yes";
}elseif($_GET["hoge"] == 1 && $_GET["test"] == ""){
echo "ok";
}
0803nobodyさん
2010/01/01(金) 21:24:41ID:???・XOOPS
海外だとDrupalが人気(Mozillaやホワイトハウスなど有名どころでも採用)
日本ではXOOPSが人気。やっぱり日本人が開発して日本のコミュニティーがしっかりしているから?
日本でDrupalがダメなのは日本Drupal公式さ糸川の管理者がアレだからという説もあるが
・EC-CUBE
ZenCartには機能面はかなわない感じがあるが日本人が開発しただけあって日本人向けの作りになっている。
・Ruby
スクリプト言語としてもう有名ですね。
フレームワークのRuby on Railsの登場で注目も集めましたね。
・PostgreSQL
開発者の一人に石井達夫さんって日本人がいましたよね?
・Namazu
・Hyper Estraier
有名どころの全文検索エンジン
ここら辺がすぐに思いつく物。
後
http://ja.wikipedia.org/wiki/Wiki
これ見ると日本人が開発したwikiって結構あるね。
0805nobodyさん
2010/01/01(金) 21:34:04ID:???俺だったら
switch($_GET["hoge"]){
case 1:
switch($_GET["test"]){
case 2:
echo "yes";
break;
default:
echo "on";
}
break;
}
って書くかな。
そっちの方がこの手の物だソースが読みやすくもなる。
0806nobodyさん
2010/01/01(金) 21:35:43ID:???0807nobodyさん
2010/01/01(金) 21:41:33ID:???ttp://www.geocities.jp/kosako3/oniguruma/index_ja.html
ttp://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/oniguruma/
0808nobodyさん
2010/01/01(金) 21:54:37ID:???>>802
GETが連続して可読性が悪いのが嫌なら判定部分を関数で外部化するとか、
コードが長くなるのが嫌なら配列なりファイルなりに条件と結果を書いておくとか。
例えばこんな感じ:
@
if (func(1, 2)) {
echo "yes";
} else if (func(1, "")) {
echo "ok";
}
function func($hoge, $test) {
return $_GET["hoge"] == $hoge && $_GET["test"] == $test;
}
A
$array = array( 1 => array( 2 => 'yes'), array( "" => 'ok'));
echo array[$_GET['hoge']][$_GET['test']];
B
data.csv
---------------------------------------------
1,2,yes
1,,ok
---------------------------------------------
foreach (file('data.csv') as $line) {
$line = explode(',', $line);
if ($_GET["hoge"] == $line[0] && $_GET["test"] == $line[1] ) {
echo $line[2];
}
0809nobodyさん
2010/01/01(金) 21:56:22ID:???最後抜けてた。試してないからこんな感じということで。
0810nobodyさん
2010/01/01(金) 22:11:37ID:???インデントしっかりやっておけばそうでもないよ。
switch使い慣れてないとbreak;付け忘れる人がいるけど
どっちにしても
>testは2だけではなく 2,3,4,5,・・・・20まで続いてます。
って場合どんどんと比較パターンが多くなってくるとifだけで表現させていくとswitchより読みにくくなる。
0811nobodyさん
2010/01/01(金) 22:26:03ID:A1Hlzrb8>>test.php?hoge=1 OK
>>testは2だけではなく 2,3,4,5,・・・・20まで続く
配列に3で表示したい内容を代入
$array[3] = 'こんにちは';
if($_GET["hoge"] == 1) {
$num = $_GET["test"];
echo $array[$num];
}
0813nobodyさん
2010/01/01(金) 22:28:44ID:nSuyooiG関数名で検索すると、同じ内容のページがぎょうさん
0814nobodyさん
2010/01/01(金) 22:37:21ID:hR+m4MNrありがとうございます
うまくできました!
他の方ももいろいろありがとうございました。
0815812
2010/01/01(金) 22:39:34ID:???俺もその配列を使う方法はすぐに考えついて
しかもifすら使わずに二次元配列を使う方法を考えついた。
でも
>test.php?hoge=1 OK
の場合の事を考えるとめんどくさくてカキコするのやめた。
あえて考えて書くと
$string[1] = array(-1=>"on",2=>"yes");
if(strcmp($_GET["test"],"")==0){
$test = -1;
}else{
$test = $_GET["test"];
}
echo $string[$_GET["hoge"]][$test];
こんな感じか?
0816nobodyさん
2010/01/01(金) 22:40:39ID:???それわかる。
関数のいろいろなサンプル探しているのにマニュアルのミラーだからサンプルもみんな同じって事あるよ。
0817nobodyさん
2010/01/01(金) 22:41:18ID:A1Hlzrb8$_GET['test'] == ''なら echo 'ok';
あるなら811ってこと?
0818nobodyさん
2010/01/01(金) 22:44:57ID:A1Hlzrb8$_GET['test'] が空(数値でない)なら echo 'ok';
あるなら811ってこと?
カンマ抜けちゃった
0819nobodyさん
2010/01/01(金) 23:02:03ID:???文字列比較で==使うなよ。
http://blog.zuzara.com/2007/05/10/221/
0820nobodyさん
2010/01/01(金) 23:03:51ID:7KQbSJC0検索エンジンのスニペットのような感じをイメージしています。
meta descriptionから要約を作成しようとしたのですが、記述していないサイトもあるので不十分でした。
0821nobodyさん
2010/01/02(土) 00:38:06ID:???0822nobodyさん
2010/01/02(土) 00:44:45ID:EfcqZQnmありがとうございます。でもインデックスされていないサイトには使えないので、別の方法がありがたいです。
404などの場合は仕方ないですが・・
0823nobodyさん
2010/01/02(土) 01:12:21ID:???http://ci.nii.ac.jp/naid/110003203295
0824nobodyさん
2010/01/02(土) 07:05:00ID:b9SN1cw1echo '処理2';
という順番で処理が書かれているときに
処理1が重いので、処理2から先に実行してみたいのですが
どのようにすればよいでしょうかアドバイスよろしくおねがいします
0825nobodyさん
2010/01/02(土) 07:30:11ID:???echo '処理1';
0826nobodyさん
2010/01/02(土) 07:31:18ID:b9SN1cw1すいません注釈で書くべきだったですね。
>という順番で処理が書かれているとき
限定です。
0828nobodyさん
2010/01/02(土) 11:50:19ID:???PHPはマルチスレッド機能はないらしいのだが裏技を使えば似たようなことは可能
PHP マルチスレッドでぐぐれば結構ヒント出てくると思う
マルチスレッドでやれば処理1と2が順次ではなく並列で処理することが可能
0830820
2010/01/02(土) 12:16:56ID:EfcqZQnm論文を読んで技術を自力でPHPに実装する実力ありません(泣)
当該論文からサマライズプログラム作れませんか?
0831nobodyさん
2010/01/02(土) 13:03:31ID:???0832nobodyさん
2010/01/02(土) 15:02:40ID:OvKDiFnJ一見C++では怒られそうなデータ配列ですが、
PHPでは下のような指定も可能なのでしょうか?
$DATA['OWN'] = "ME";
$DATA[$IDX]['YY'] = 10;
$DATA[$IDX]['MM'] = 1;
$DATA[$IDX]['DD'] = 2;
0833nobodyさん
2010/01/02(土) 15:30:54ID:5+ri1/AEフリースクロプトを用いて、実行すると、
Parse error: syntax error, unexpected '[', expecting ']' in C:\www\jisaba\cf\chat01.php on line 61
エラーが出てしまいます。
おそらく、61行目に'['と']'を付けろと言われてると思いますが、どこに追加すればいいのでしょうか。。
61行目は
$ad1 = $ad_list1[$ad_key1[0]];
となっております。
よろしくお願い致します。
0834nobodyさん
2010/01/02(土) 15:44:54ID:???unexpected '[', - なんか変なのきた
expecting ']' - こういうのが来る筈なのに
と分けて読む。
$ad_key1[0]
^ これが変なものと思われてる。
0835nobodyさん
2010/01/02(土) 15:57:03ID:???>一見C++では怒られそうなデータ配列ですが、
>PHPでは下のような指定も可能なのでしょうか?
C言語系だと構造体があるからそっちで実現した方がいいからね。
PHPでは構造体が使えないからそうやるしかないよね。
0836nobodyさん
2010/01/02(土) 16:40:07ID:???>>834さんありがとうございました!
<?php
(略)
echo <<<_INN
<HR size=1>
★
<center>てすと</center>
<HR size=1>
(略)
?>
これの★の部分に
-----------------------------------------------
srand((double)microtime()*1000000);
$ad_list1 = file("/home/php/public_html/ad.txt");
$ad_key1 = array_rand($ad_list1, 2);
$ad1 = $ad_list1[$ad_key1[0]];
// 表示
echo $ad1;
-----------------------------------------------
を入れると
Parse error: syntax error, unexpected '[', expecting ']' in...
エラーが出てしまいます。834さんの言う通り、
[を消したり、色々してみましたがダメでした。
やはりできないのでしょうか・・
($ad_list1 = fileで指定してる.txtファイルの存在や書き方は問題ないと思われます。)
よろしくお願い致します。
0838nobodyさん
2010/01/02(土) 18:33:54ID:5+ri1/AEありがとうございました!
0843nobodyさん
2010/01/02(土) 22:50:51ID:???0844832
2010/01/02(土) 23:19:00ID:OvKDiFnJ無理だと思ったら可能なのかー。
PHPなんでもあれですね。
0845nobodyさん
2010/01/03(日) 01:37:05ID:leVs71yLaタグのhrefやimgタグのsrcなどをすべて絶対URLに直したいです。
baseタグなども考慮して・・・
なにかよいライブラリなどありますでしょうか?
0846nobodyさん
2010/01/03(日) 02:44:38ID:???JavaScriptのXMLHttpRequest.open()なんかにも対応すると、結構大変。
ほぼ完璧なものがあったら、俺も知りたい。
0847nobodyさん
2010/01/03(日) 03:54:04ID:???0848nobodyさん
2010/01/03(日) 03:56:47ID:???0849nobodyさん
2010/01/03(日) 05:01:36ID:???次の質問として、ワンクォーテーション内で囲まれたファイル名を日付にしたいのですが、不可能です。
どのような処理にしたら良いでしょうか。
0850nobodyさん
2010/01/03(日) 05:04:45ID:???0851nobodyさん
2010/01/03(日) 05:57:56ID:???次の質問として、ワンクォーテーション内で囲まれたファイル名を日付にしたいのですが、不可能です。
どのような処理にしたら良いでしょうか。
0852nobodyさん
2010/01/03(日) 06:11:52ID:???0853nobodyさん
2010/01/03(日) 09:12:19ID:???http://example/a/b/c/d/e/f/g/index.htmlから
../../../../../aa/bb/ccという相対パスから絶対パスを貴様の脳内で置換できないならできません
0855nobodyさん
2010/01/03(日) 12:56:33ID:???0856nobodyさん
2010/01/03(日) 22:32:34ID:vxQEL+DQ和集合はarray_mergeとarray_uniqueで出来るからいいとして、
差集合と積集合を簡単に取得する方法ってありませんか?
ループを使えば簡単に出来るけど、
もしかしたら既存の関数で出来たりしませんか?
0857nobodyさん
2010/01/03(日) 22:35:53ID:???まんまの関数がありますよ
http://jp.php.net/manual/ja/ref.array.php
■array_diff - 配列の差を計算する
■array_intersect - 配列の共通項を計算する
0859sexyphp
2010/01/04(月) 14:44:15ID:dZXnpRZU第三者に配布を行う時にZFライブラリをWebアプリと同じフォルダ
に収めたいと思っています。
こういうのは可能なんですか
0860nobodyさん
2010/01/04(月) 14:47:04ID:???0861sexyphp
2010/01/04(月) 14:51:27ID:dZXnpRZUBSDライセンスって何なの。
俺のソースコードすべてにいちいちコメントアウトしてライセンス協定
書くってことなんですかぁ?
0862nobodyさん
2010/01/04(月) 15:09:36ID:???ttp://ja.wikipedia.org/wiki/BSD%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9
0863nobodyさん
2010/01/04(月) 15:37:25ID:jOHjv6Af当方超初心者です。
ただいまこちらの画像アップローダを試しとして設置中です。
h ttp://www.keitai-site.net/php/upbbsi_php/
投稿しようすると、
Fatal error: Call to undefined function mb_convert_kana() in C:\www\jisaba\upbbsi.php on line 244
とエラーがでてしまいます。
extension=php_mbstring.dllのコメントアウトを外して
再起動しましたが、同じエラーがでてしまいます。
(244行目)$str = mb_convert_kana($str,"KV","SJIS"); //半角カナ変換
のSJISをUTF-8に変更しても同じエラー・・
このようなエラーが出る場合、他に原因はあるのでしょうか・・?
よろしくお願い致しますm(_ _)m
0864nobodyさん
2010/01/04(月) 15:43:51ID:???phpinfo関数で、mbstringの箇所がどうなっているか、php.iniの場所はどうなっているか、など確認してみては
0865nobodyさん
2010/01/04(月) 15:47:13ID:???半角カナと全角カナを変換するだけの関数だから無くても大した問題はない
あとスクリプトにprint_r(get_defined_functions());を書いたら使える関数の一覧を見られる
0867nobodyさん
2010/01/04(月) 16:24:38ID:jOHjv6Af色々やったけど、結局>>865さんの言うようにその行を無効としました。
そしたら先ほどのエラーは消えたのですが、投稿すると、
画面が真っ白になってしまいました。。
エラーを見たくて、
display_errors = Off←Onにしてもなにも表示されません・・
やっぱりなかなかうまくいかないものですね。。
0868nobodyさん
2010/01/04(月) 16:35:35ID:???iniファイルが違うか、再起動ができてないか、コメントアウトが外れてないか、dllが存在しないか
どれかはわからんが
0870nobodyさん
2010/01/04(月) 16:46:39ID:???エラーログみるとかしなさいよ。あとまずは<?php phpinfo();?> これだけのphp作って実行
0871nobodyさん
2010/01/04(月) 16:48:13ID:???エラーによっては画面に何も表示出来ないことがある
echoしてなかったり変なヘッダでブラウザが解釈出来なかったり色々
0872nobodyさん
2010/01/04(月) 18:33:50ID:???お前の再起動は間違ってるって言ってるんじゃなくて、
その下に書いてあることをやれと言ってるんだと思うぞ868は
0874nobodyさん
2010/01/04(月) 18:43:00ID:???0875nobodyさん
2010/01/04(月) 19:13:48ID:???0876nobodyさん
2010/01/04(月) 19:29:35ID:???0877nobodyさん
2010/01/04(月) 20:38:28ID:???0878nobodyさん
2010/01/04(月) 22:14:45ID:l0tw/Bkx$passwd = crypt("");
で問題ないでしょうか?
0880nobodyさん
2010/01/04(月) 22:43:27ID:???>frombase
>返還前の number の基数。
タイプミス?
0881nobodyさん
2010/01/05(火) 01:56:04ID:???round関数使うと
例えば
round(1.12, 1)は1.1
round(1.16, 1)は1.2と出力されます
そこでround(1.01,1)とやると1.0と出てきて欲しいんですが、1だけです。
何か方法はありませんか?
roundに拘る必要はないのですが、roundくらいしか思いつかなかったので・・・
お願いします
0882nobodyさん
2010/01/05(火) 02:05:21ID:???0883nobodyさん
2010/01/05(火) 02:07:22ID:???# sageちゃいかんよ
それはそうと echo sprintf('%01.1f', round(1.01, 1)); でどうだろう
0884nobodyさん
2010/01/05(火) 02:08:55ID:???0885881
2010/01/05(火) 02:14:39ID:???sprintfとはちょっと違うのですが、何かないですかね?
0886nobodyさん
2010/01/05(火) 02:16:21ID:???できそうな気がします
0888nobodyさん
2010/01/05(火) 04:12:31ID:SpHbsOStでゲットしたファイルサイズはクライアント側で変更可能ですか?
アップロードされたテンポラリファイルをfilesize()に通した方がいいのでしょうか?よろしくお願いします
0889nobodyさん
2010/01/05(火) 06:16:00ID:SpHbsOSt調べてみたら、ちゃんと一時保存されたファイルからサイズを調べてくれてるようでした。
0890nobodyさん
2010/01/05(火) 16:46:35ID:???0891nobodyさん
2010/01/05(火) 16:51:43ID:???0892nobodyさん
2010/01/06(水) 11:54:58ID:???File/Archive.phpなどを用いてzipを解凍して中身を別個ディレクトリに保存し、
そのディレクトリの中身を表示する以外に方法はありますか?
(解凍した後のファイルを用意しなくても、毎回直接(?)zipの中身を読み込んでいく、など)
解凍の仕組みがよくわかってないので、的外れなこといってたらすみません
0893nobodyさん
2010/01/06(水) 12:08:02ID:???0896nobodyさん
2010/01/06(水) 13:06:15ID:???ID出してないだけで何で煽られないといけないんだバカじゃねえの?
分からないなら答えなくていいってお前こそ>>1嫁視ね
0897nobodyさん
2010/01/06(水) 13:16:48ID:NMCa3pGPpChart(http://pchart.sourceforge.net/)という
PHPのグラフ描画ライブラリを商用のASPサービスにモジュールとして
組み込みたいのですが、pChartはGPLらしく無改変の状態でも
サービスに組み込んだら最後、自社のコードもGPLに汚染され、
無償公開しなければいけなくなってしまうと聞きました。
この理解は正しいでしょうか?
また、PHPのグラフ描画ライブラリでよりライセンスの制限の緩い
ものはありませんでしょうか。
0898nobodyさん
2010/01/06(水) 13:22:56ID:???コードを販売するなら公開する必要が有る
0899nobodyさん
2010/01/06(水) 13:55:33ID:???kwskはここ読め
ttp://ja.wikipedia.org/wiki/GNU_General_Public_License
0900nobodyさん
2010/01/06(水) 22:30:21ID:j7Rd9KzV「Aのサイトから来ました」という表示を出したいのですが
setcookie("site_check","a",time()+600,"",aのドメイン)
としてもBのサイトではクッキーが読めません。
やはりドメインが変わるとクッキーのやりとりは出来ないのでしょうか?
0901nobodyさん
2010/01/06(水) 22:49:03ID:???0902nobodyさん
2010/01/06(水) 23:51:51ID:4NuxgMy7PHPで対象のページに特定の文字がある場合、その行を出力する
というプログラムを組もうと思っているのですが、
文字化けを起こしてしまい、該当の文字が検索に引っかかってくれません。
どこを直せば良いのでしょうか?
回答よろしくお願いします。
【例】
<?php
// 文字コード
define('CHARSET', "UTF-8");
ini_set("default_charset", CHARSET);
ini_set("mbstring.internal_encoding", CHARSET);
ini_set("mbstring.http_output", CHARSET);
ini_set("mbstring.http_input", CHARSET);
$handle = @fopen("http://pc11.2ch.net/test/read.cgi/php/1260247989/", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$hitlen = strpos($buffer , "下らねぇ質問");
if ($hitlen !== false) {
echo $buffer;
}
}
fclose($handle);
}
0903nobodyさん
2010/01/06(水) 23:59:04ID:???"下らねぇ質問"と取ってきたページの文字エンコードを合わせればよかと
あともし2chを対象としているのなら直接datを見た方がいいと思うよ
0904902
2010/01/07(木) 00:13:12ID:7vbs2WcDうまくいきました。ありがとうございました。
あ、例で出しやすかったので2chのアドレスを表記しただけですw
わざわざありがとうございます。
0905nobodyさん
2010/01/07(木) 01:57:55ID:???お前がよく読め。
>GPLソースコードの修正で再頒布が必要になる
>GPLで保護された著作物の修正や、GPLで保護されたコードを新しい著作物で使うとき、
>必ずしもソースコードの公開を要求しているわけではない。この要求は、
>新しいプロジェクトが第三者に「頒布される」ときだけに発生する。結果としてのソフトウェアが、修正者に使われるだけなら、ソースコードの公開は要求されない。
偉そうに言う>>899。でも自分で示したURL先の内容が理解できないアホ
0906nobodyさん
2010/01/07(木) 08:39:22ID:???買った側が改変しないで配布せず使う限りでは、公開いらん。
0907nobodyさん
2010/01/07(木) 09:04:40ID:???おまえ、自分の書いた文書もう一度読み直してみろな。
何故、「買った側」の話になる?
>>898売る側の話しているぞ。
>コードを販売するなら
販「売」な。買う(側)ではなくて売る(側)。分かるか?
0908nobodyさん
2010/01/07(木) 09:16:37ID:???GPLのライブラリを使った場合にGPL汚染されるから自社システムのソース提示が必要になるのか?
って言う>>897の質問。
それに対して
自社システムを自社で運用するならソース公開は必要ない。
ただしそのシステムを販売するならソース公開する必要がある。と>>898が説明
って事でしょ。
>>898が書いてない事だけど俺が知っている範囲でもっと突き詰めた説明すると
改変やさらに販売し先がそのソースをどう利用しようが自由になる。しかもソースを利用した物もGPLに汚染される。
0909nobodyさん
2010/01/07(木) 10:16:48ID:???販売する側が公開する必要になるかどうかが、買った側が使うだけの場合には、売った側が公開する必要はない。
買った側が改変してさらに頒布する場合には、買った側がGPLに沿ってやるだけ。売った側関係なくなるんだけどな。
いずれにせよ「販売した場合」ってのは 関係ない。
0910nobodyさん
2010/01/07(木) 11:06:02ID:???おまえもう一度>>897を読め。
何故ここで買った側の話が出る?
>>897が心配しているのは開発側。
で開発側がそのシステムをどうするかで状況が変わる説明を>>898がしている。
で開発した側の事で
>買った側
や
>いずれにせよ「販売した場合」ってのは 関係ない。
なんて言う斜め上をいく解釈になるのか分からない。
あくまで>>897の書き込みは開発者サイドの質問です。
それに対する開発者サイドのGPLに対しての>>898の説明です。
>>909(=906=899?)の書き込みは何故か買った側の問題です。
君PHPどころかシステム開発すらしたことのない素人さん?だから斜め上からのねじれた解釈ができる?
PHPで開発していれば定番のMySQLのライセンスにぶち当たるからGPLには普通神経質に対処するからね。
だから販売システムにはMYSQLは利用せずにPostgreSQLやSQLiteを利用する。
その状況で>>909(=906=899?)は明らかに開発者側の視点での書き込みではない。
0911nobodyさん
2010/01/07(木) 11:15:56ID:???0912910
2010/01/07(木) 11:22:25ID:???俺>>905ではあるが>>898ではないぞ。
で開発者サイドの話がシステムを買った側のGPLの話になるか説明してくれ。
0913nobodyさん
2010/01/07(木) 11:51:31ID:???売る側として、Mysql使ったサイト作って企業に売ったとして、そのサイトのソースは
売る側が公開する必要ない → 販売するならの記述違うよね。
難しいかなぁ。
0914nobodyさん
2010/01/07(木) 11:53:39ID:???自分で使って配布もしない場合はソースを公開する必要はない
こんな感じだろ
0915nobodyさん
2010/01/07(木) 11:54:00ID:???0916nobodyさん
2010/01/07(木) 12:01:00ID:???ハィハィ。ちっょとカマかけたら見事引っかかってくれたね。
MySQLはライブラリもGPL(LGPLでないからライブラリ利用でGPL汚染)を前提に話を書くけど
まずMySQLには二種類のライセンス形態があるの。
もちろん一つはGPL。そしてもう一つがコマーシャルライセンス。
でGPL汚染させたくなければコマーシャルライセンスを購入する必要がある。
だから、>>913みたいにライセンスについてなにも知らないとMySQL=GPLの図式が成り立つカマをかけると見事引っかかるのよ。
そんなライセンスについて何も知らない君。
一応この書き込みにももう一つPHPのライブラリ限定の罠仕掛けておいたから今度は見破ってごらん。
>売る側として、Mysql使ったサイト作って企業に売ったとして、そのサイトのソースは
>売る側が公開する必要ない → 販売するならの記述違うよね。
もう斜め上を行く書き込みは辞めてくれ。
0917nobodyさん
2010/01/07(木) 12:04:03ID:???0918nobodyさん
2010/01/07(木) 12:04:17ID:???間違ったの放置するとあなたのためにも、ここ見た人にも、
せっかくGPLにしてる沢山のものに対しても良くないんです。
0919nobodyさん
2010/01/07(木) 12:04:18ID:???>売る側として、Mysql使ったサイト作って企業に売ったとして、そのサイトのソースは
>売る側が公開する必要ない → 販売するならの記述違うよね。
こんな嘘まで出る始末。
ASPではソース公開が必要ないからとそれを広域でとらえてと誤解している?
なんか調べたらMySQLのライセンス違反しているソフトハウスがゴロゴロと出てきそうな悪寒。
0920nobodyさん
2010/01/07(木) 12:05:34ID:???よく読んでない誤爆ですか?
100000000000000000000000億回読んだほうがいいですよ
>Mysql使ったものを販売出来ないわけでもないのに
0921nobodyさん
2010/01/07(木) 12:05:34ID:???>PHPで開発していれば定番のMySQLのライセンスにぶち当たるからGPLには普通神経質に対処するからね。
0922nobodyさん
2010/01/07(木) 12:07:13ID:???0923nobodyさん
2010/01/07(木) 12:07:35ID:???GPLは商用利用でもOKなんだな
0924nobodyさん
2010/01/07(木) 12:07:37ID:???0925nobodyさん
2010/01/07(木) 12:08:07ID:???>売る側として、Mysql使ったサイト作って企業に売ったとして、そのサイトのソースは
>売る側が公開する必要ない
って文に
>Mysql使ったものを販売出来ないわけでもないのに。
がかかっているから変ではないのと
GPL汚染されてても良いならGPLのライセンスの物は売っても良いんだよ。
0926nobodyさん
2010/01/07(木) 12:10:12ID:???0927nobodyさん
2010/01/07(木) 12:11:55ID:???OK。そのかわりGPL汚染され続けるけどね。
良い例がRHELとCentOSの関係みたいな。
RHELは商用でとして販売。しかし元々GPLの部分はソース公開。
で、それを利用されて無料のCentOSができる。
ちょっと昔なんてRHLをベースに無料どころか商用としてTurboLinuxやVIneLinuxなどなど派生も開発されて販売されていた。
0928nobodyさん
2010/01/07(木) 12:13:07ID:???IDはだせるげとIP出せないだろ。
DOS攻撃
それとこのご時世IPなんてだしたら逆恨みでDOS攻撃してくるぞ。
0929nobodyさん
2010/01/07(木) 12:28:48ID:asUehzW7これを文字列に変換するには、どのように実装すれば宜しいでしょうか?
例えば、
56E0→因
というような変換です。
bin2hexは使えそうだと思ったのですが、むしろ逆の処理で、実装の方法が分からず困っています。
どうかお力をお貸しください。
宜しくお願いします。
0930nobodyさん
2010/01/07(木) 12:41:56ID:???0931nobodyさん
2010/01/07(木) 12:42:21ID:???0932nobodyさん
2010/01/07(木) 12:44:19ID:???http://www.s-style.co.jp/mysql/chart/index.html
0934nobodyさん
2010/01/07(木) 13:31:38ID:???ビッグエンディアンのUTF-16として
pack("H*","56E0");
utf-8で出力するなら
echo mb_convert_encoding( pack("H*","56E0"),"utf-8","unicode");
0935nobodyさん
2010/01/07(木) 13:32:47ID:???ユニコードなら普通UTF8じゃない
0936nobodyさん
2010/01/07(木) 13:33:26ID:???0937nobodyさん
2010/01/07(木) 13:36:19ID:vUzUYJKW0938nobodyさん
2010/01/07(木) 13:39:06ID:???0939nobodyさん
2010/01/07(木) 14:05:36ID:asUehzW7当環境でやってみたところ、出来ました。助かりました。
それで、UNICODEのやり方が分かれば、JISコードについても同じ要領できるかと思って、
以下のようにやってみたのですが、上手くできませんでした。
$covertedChar = pack("C", hexdec("0x"."304B"));
echo mb_convert_encoding($covertedChar, "utf-8", "JIS");
ちなみに、JISコード・十六進コード「304B」は「伊」に該当するそうなのですが。
phpマニュアルを見ながら、Cの所をC*やH*でやってみたのですが、駄目でした。
すみません、最初に全て出せば良かったのですが、追加でお聞きしても宜しいでしょうか。
これで最後です。宜しくお願いします。
0940nobodyさん
2010/01/07(木) 14:07:24ID:asUehzW7$covertedChar = pack("C*","2F28");
echo mb_convert_encoding($covertedChar, "utf-8", "JIS");
0941nobodyさん
2010/01/07(木) 14:08:37ID:???0942nobodyさん
2010/01/07(木) 14:12:04ID:???0943nobodyさん
2010/01/07(木) 15:09:42ID:BSk80e6a999→1000 ならtrue
999→291ならfalse
10→101ならtrueみたい・・
0944nobodyさん
2010/01/07(木) 15:19:01ID:???(int)log10(999) != (int)log10(1000) とか
strlen((string)999) != strlen((string)1000) でもいいかも知れん
0945nobodyさん
2010/01/07(木) 15:25:11ID:???文字列に変換して文字列長が同じかどうかを見る
0946nobodyさん
2010/01/07(木) 15:25:55ID:???0947nobodyさん
2010/01/07(木) 15:40:54ID:???0948nobodyさん
2010/01/07(木) 16:23:48ID:???0949nobodyさん
2010/01/07(木) 17:09:53ID:go7wFoTk自分の場合はeregを使っているんですが、eregでは全角カタカナやひらがな等は使えないのでしょうか?
解決方法があれば教えてください。
ちなみに、エラーのでている行は
if(eregi($type,$datafile[4]))
で、
$type="メーカー";
や
$type="サービス";
となる時にエラーがでてしまいます。
0950nobodyさん
2010/01/07(木) 17:21:24ID:???0951nobodyさん
2010/01/07(木) 17:56:32ID:LXzPFyV8サーバ管理の権限はありません。
プログラム中で変更とかできないでしょうか?
0952nobodyさん
2010/01/07(木) 18:06:19ID:LXzPFyV8でした。事故レス。
0953nobodyさん
2010/01/07(木) 18:59:51ID:???0954nobodyさん
2010/01/07(木) 19:17:59ID:???0955nobodyさん
2010/01/07(木) 19:30:27ID:AjaMrx7gこの連立方程式をPHPで解くコードを教えてください
0956nobodyさん
2010/01/07(木) 19:56:03ID:???0957nobodyさん
2010/01/07(木) 20:33:47ID:???0958nobodyさん
2010/01/07(木) 20:34:09ID:5cb0Qm+/30からランダムに順々に重複しない数を取り出したいです。
考えたのが、
例えば最初に5を取り出したとき、5をストック。次に
ストックを検索してかぶらない数字12を取り出してストック、ストック(5, 12)を検索して・・
という感じでやろうとしたのですが、無駄が多いように思えるのです。
何か他に効率のよい方法はありませんでしょうかアドバイスよろしくお願いします。
0959nobodyさん
2010/01/07(木) 20:39:27ID:???ここにそのまま使えそうな例がある。
http://www.php.net/manual/ja/function.shuffle.php
0961nobodyさん
2010/01/07(木) 21:24:45ID:5cb0Qm+/とりあえずはやりたいことがシンプルにかけました
ありがとうございました
0962nobodyさん
2010/01/07(木) 21:30:53ID:???シャッフルのアルゴリズムはmediawikiで探すと見つかる
0963nobodyさん
2010/01/07(木) 23:49:38ID:0Znmv5GU$array = array();
for($a = 1; $a < 31; $a++) {
$num = rand(1,30);
if ( in_array($num, $array) ) {
$a = $a - 1;
continue;
}
$array[] = $num;
}
foreach( $array as $value ){
echo $value."<br />\n";
}
echo count($array);
?>
これじゃだめ?wwwww
0964nobodyさん
2010/01/08(金) 00:26:11ID:???0965nobodyさん
2010/01/08(金) 09:16:40ID:???do {
r = min + genrand_int31() % (max - min + 1);
} while(result.find(r) != result.end());
result.insert(r);
}
return result;
}
0966nobodyさん
2010/01/08(金) 09:48:35ID:???PHPの中でどうやって混ぜてるか見たけど(array.c)
配列の全要素を、乱数で他の要素と入れ替えてるね。
mediawikiは???
0967nobodyさん
2010/01/08(金) 11:01:32ID:???0968949
2010/01/08(金) 15:52:11ID:FfxTGFawレスありがとうございます。
eregではなくmb_strposにかえたところ、エラーは消えました。
(エラーの原因は − だったようです。)
ところが、今度はまた別の問題が生じました。
mb_strrpos("$datafile[0]","$keyword")
のように、テキストファイルから特定の文字列を探しているのですが、これがうまくいきません。
$datafile[0]と$keywordが同じ文字列でも結果が同じと判定してくれません。(これはprintを使い確かめました)
言葉ではうまく説明できないので、簡単な例をのせてみます。
解決方法をご存知の方いましたら、レスお願いします。
例
if(mb_strpos($datafile[0],$keyword)!=0){
print("ok");
}else{
print $datafile[0].<BR>;
print $keyword;
}
これで実行しても
漢字 カタカナ ひらがな
漢字
という具合に表示されてしまいます。
(ちなみに、検索語句、検索対象が英字の時はokと表示されます)
0969940
2010/01/08(金) 15:58:56ID:3B7A809H> JISはシフトインアウトがあるからな
お返事ありがとうございます。
シフトインアウトについては、よく理解できないのですが、unicodeのように簡単には実装できないということでしょうか。
辞書には、UNICODEとJISコードが書かれているので、両方対応できるようにしたいのですが、
やはり、JISコードを変換して漢字にするのは難しいでしょうか。
0970nobodyさん
2010/01/08(金) 16:37:58ID:???mb_strposは0を返す場合もあるから !=0 じゃダメなんじゃね?
存在しない場合はFALSEが返ってくるから !==falseとかにする
あとは文字コードとか
0972nobodyさん
2010/01/08(金) 17:23:28ID:FfxTGFaw確かにそうですね。直しておきます。
現在文字コードはShift_JISですがそれだと問題あるのでしょうか・・・?
0973nobodyさん
2010/01/08(金) 19:45:03ID:95a5JUsZ書き出したファイルの内容と新しく自身が吐いたソースの比較はどうすればできますか?
宜しくおねがいします。
0974nobodyさん
2010/01/08(金) 19:46:56ID:???0975nobodyさん
2010/01/08(金) 19:50:38ID:???>>974のように文字列同士の比較で一致するかでいいと思うけど
それだとコストが大きいので書き出す時にmd5ハッシュを保存しておいて比較した方がいいと思う
更新日時の比較がベストだけど
0976nobodyさん
2010/01/08(金) 19:51:38ID:???0977nobodyさん
2010/01/08(金) 20:09:53ID:???0978973
2010/01/08(金) 20:17:42ID:95a5JUsZありがとうございます。
説明が曖昧でした。申し訳ありません。
最終的にPHPで同じテキストファイル(かhtmlファイル)
に上書きするんですが、
今回上書きされる内容と、前回上書きした内容が
一致するか比較したいです。
PHPのソースが上書きする前の処理として、例えば
前回と比較→一致なら0,不一致なら1→最終的に上書きはする
という感じのことを行いたいです。
0979nobodyさん
2010/01/08(金) 20:35:45ID:???#テストしてないけど
function f($filename, $contents='')
{
$old_contents = file_get_contents($filename);
file_put_contents($filename, $contents);
return $old_contents === $contents ? 0 : 1;
}
0982nobodyさん
2010/01/08(金) 21:29:49ID:???0983973
2010/01/08(金) 22:26:22ID:95a5JUsZ少し弄りましたができたと思います。
ありがとうございます。
0985nobodyさん
2010/01/09(土) 11:54:57ID:???フレームワークレベルで多国語対応しているのってある?
言語リソースを完全に分離しているイメージで
0986nobodyさん
2010/01/09(土) 12:17:19ID:???日本語のファイル読み込み
} else {
英語のファイル読み込み
}
じゃだめ?
0989nobodyさん
2010/01/09(土) 17:16:53ID:g7iSaAwT0990nobodyさん
2010/01/09(土) 17:21:14ID:???0991nobodyさん
2010/01/09(土) 17:30:39ID:lsb/cZ9k<?php
if(isset($argv) == true){
echo "コマンドラインから実行されました";
}
?>
http://jp2.php.net/manual/ja/reserved.variables.argv.php
これでいい?
0992nobodyさん
2010/01/09(土) 17:31:31ID:pOjpZhf9100 → 100
1000 → 1,000
100000 →100,000
お願いします。
0994nobodyさん
2010/01/09(土) 17:36:03ID:lsb/cZ9khttp://jp2.php.net/manual/ja/function.number-format.php
0996992
2010/01/09(土) 17:38:43ID:pOjpZhf9自分の持ってる参考書には目を通したのですが、マニュアルはみてなかったです。
自分自身の為にも、次からは気をつけます。
>>994
ありがとうございます。
0997nobodyさん
2010/01/09(土) 19:19:13ID:bizuBJVY質問内容
お手元の環境で以下のサイトのコードを実行した場合に
ttp://d.hatena.ne.jp/Xephy/20081217/1229515379
問題なく以下の部分の表示が行われますか?
//URL表示
print $login->get_video_url($mov_id);
うちで動かすと、正しいメールアドレス/パスワードを用いても、用いなくても、
実行結果が変わりませんorz
0998nobodyさん
2010/01/09(土) 20:13:21ID:lsb/cZ9khttp://pc11.2ch.net/test/read.cgi/php/1263035502/l50
0999nobodyさん
2010/01/09(土) 20:19:07ID:???1000nobodyさん
2010/01/09(土) 20:19:49ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。