【PHP】下らねぇ質問はここに書き込みやがれ 25
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/07/23(日) 20:00:03ID:???ここならお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
過去スレは>>2
0456420
2006/07/30(日) 15:18:48ID:???ありがとうございます。
以下の文を探していました。
PHP 4 では派生クラスのコンストラクタから基底クラスの コンストラクタを自動的にコール
することはできません。 上流のコンストラクタを適切にコールするように伝播させることは
あなたの責任でやるべきことです。
つまり、BとCのコンストラクタを明示的にAで呼んであげないといけない
という理解で良いですよね。
#んー、なんかマニュアルって検索にうまくひっかからないのですよね…
0457450
2006/07/30(日) 16:39:33ID:???for($i=0; $i < 2; $i++) {
echo $name[$i]."さんありがとうございます。<BR>\n";
}
echo "\$_SERVER[\"HTTP_HOST\"]に書き直したらいけました。";
0458nobodyさん
2006/07/30(日) 17:31:42ID:c850+3OT0459nobodyさん
2006/07/30(日) 17:36:12ID:???foreach($name as $value){ echo $value."さん〜"; }
echo "〜";
の方がスマートになると蛇足。
0460nobodyさん
2006/07/30(日) 17:51:10ID:???0461nobodyさん
2006/07/30(日) 17:58:25ID:NzzdC7Vd今、入門書を読み終わってSmartyの本読みを読み始めたところなのですが
SQliteが動きません。phpinfo();にもSQliteの項目がありません。
php.iniを見ると5.03の時にはなかった
extension=php_sqlite.dll
という項目があったので、ONにしてみたのですが駄目でした。
extのパスも間違っていない(はず^^;)です。
他に何かしなければオンにならないのでしょうか?
MySQLを使うか、5.03でテストしつつ読み進めれば問題ないのですが
私がなんか設定でオオポカをやらかしてるのか…
それとも、SQliteが見捨てられたのか…
0462nobodyさん
2006/07/30(日) 18:17:08ID:???PDO SQLiteならデフォルトでOffになってる。
SQLite関数なら普通に使えたと思ったけどな・・・
--with-pdo-sqlite付けてコンパイルし直すと良いと思う。
0463nobodyさん
2006/07/30(日) 18:33:01ID:TgrmMjVZテキストファイルを読み込んで、
行ごとに、条件分岐で保存するかしないかを決める処理をしたいんだけど
例えば、以下の様なテキストファイルのDを含む行を削除するような
ABC
BCD
CDE
DEF
fopenのw+モードだと、テキストファイルの内容が読み込み方が分らず
r+モードだと、行の削除をどうやるかがわからず
唯一file関数で読み込んでからfopenでif文書いて処理すればいけるが、
fileロック的に微妙。
perlだと普通にopen関数でいけるのだけど
どうしたらよいの?
0465nobodyさん
2006/07/30(日) 19:16:14ID:SlTGL4ejキタ━━━━━━━━(゚∀゚)━━━━━━━━━━ッ!!
ありがとうございます!
0466nobodyさん
2006/07/30(日) 19:23:29ID:???0467nobodyさん
2006/07/30(日) 21:13:16ID:EgQavLOH恐らく PHP の文字コードの問題と思っているので、こちらにお邪魔しました。
PHP-4.4.2
MySQL-5.0.22
上記の環境で scuttle-0.7.2 を導入しようとしています。
動作までは行えたのですが、ブックマークの登録に日本語が通りません。
php.ini を書き換えて EUC-JP や UTF-8 で統一してみましたが、文字化けしたままでした。
phpMyAdmin も併用して、検証を行った結果、
scuttle から入力>phpMyAdmin で表示>文字コード判別不能。
phpMyAdmin から入力>scuttle で表示>scuttle 上はUTF-8で該当データはEUCでした。
MySQL 上ではutf8_general_ciでデータベースを作成しています。
どなたか、導入実績のある方などはいらっしゃいますか?
もしくは、ここが悪い?というご指摘をいただけると助かります。
0468nobodyさん
2006/07/30(日) 21:56:48ID:cXM04WS8GDで加工した画像データをmysql等のDBに入れたいのですが、
ファイルを作成するのはimagejpeg()等で出来ますが、変数に格納する方法が
わかりません。一時ファイルを作ってそれを読みこむ以外に方法は無いのでしょうか?
0469nobodyさん
2006/07/30(日) 22:05:56ID:???serializeとかじゃダメなん?
0470468
2006/07/30(日) 22:11:39ID:cXM04WS8serialize(イメージID)としてみましたが駄目でした
0471nobodyさん
2006/07/30(日) 22:39:19ID:???これ試してみな
ob_start();
imagejpeg($im, NULL, 75 );
$x = ob_get_clean();
0472nobodyさん
2006/07/30(日) 22:43:40ID:???で、読み込ませるためにリンケージを貼ったMCの中でXMLをonLoadして、
そのXMLの定義にしたがって画像などをloadMovieしてるんですが、
何故かスクロールペインにスクロールバーが出ません
XMLのonLoadや画像のloadMovieが時間差を生んで、読み込み以前の状態が反映されてるのかと思い、
スクロールペインのonEnterFrame( )に
redraw( )をつけたりしてるんですが、
特に効果はありませんでした。
こういう時はどういう処理でスクリプトの流れを作ればいいんでしょうか
よろしくおねがいします。
0473472
2006/07/30(日) 23:01:14ID:???0475nobodyさん
2006/07/31(月) 00:57:11ID:???わかってねーよww
0476nobodyさん
2006/07/31(月) 01:24:12ID:???「推奨されていないから使わないようにすべき」って方の理屈は普通にわかるって意味ね。
allow_url_fopenをオフにするならソケットによるアクセスは全て禁止すると思うけど、そうじゃないシチュエーションってどんなときに起こるの?
0477nobodyさん
2006/07/31(月) 01:45:06ID:???0478nobodyさん
2006/07/31(月) 01:48:53ID:AiuTU73H教えてください
0479nobodyさん
2006/07/31(月) 03:02:42ID:???そもそもPerlならopenでできる、ってのはどうやってるのさ。
このスレでPerlの知識があることを前提に質問するのは間違ってるぞ。
話を聞く限りでは、r+で開いて中身読み込んでtruncateで中身リセットして
あとは必要な行だけfwriteしていけば終わりの気がするけどね。
Perlでもやってることは一緒だと思うんだけどなぁ。
0480nobodyさん
2006/07/31(月) 10:11:51ID:???中途行を削除するのでも、
その削除行から残り全部は一旦削除して書かなきゃならないってのわかってないとおもうよやつは。
ファイルの、その行だけ削除すればOKだと思ってる。
0481nobodyさん
2006/07/31(月) 10:36:29ID:vOs6pv4F$a = null と書くのが常識なのでしょうか?'
0483nobodyさん
2006/07/31(月) 10:50:27ID:???マニュアルを見てきたのですが
・値がない
・unsetした場合
とかなっていましたが・・・
unset($a)したら変数はなくなりますよね?
だから if ($a)だとエラーが出ると思っていたのですが、あれ・・・
0484nobodyさん
2006/07/31(月) 10:54:00ID:???0485nobodyさん
2006/07/31(月) 10:54:06ID:???いやだから、$a = ''; も $a = NULL; も、それぞれ「意図があって」やってることであって、
どっちかが常識ってわけじゃないんだよ。
何をやりたいかによって使い分けなきゃいけないものってこと。
0486nobodyさん
2006/07/31(月) 11:08:17ID:???ローカルで色々と試してきました。
結果、noticeすら出なかった・・・。
error_reporting(E_ALL);
ini_set('display_errors',1);
としてあるのですが謎です。
文字が空である事と値がない事は違うという事ですね。
0487(^ω^)
2006/07/31(月) 11:35:32ID:???0488nobodyさん
2006/07/31(月) 11:41:45ID:???0489nobodyさん
2006/07/31(月) 11:42:04ID:CE9HBJM2$hoge = " 1 "; //" " . "1" . " " の3つに分割されるつもり
$array = explode(" ",$hoge);
とした場合、最初のスペースが分割文字として判定されずに、
array([0]=>" 1",[1]=>"")
となってしまい困っています。
これが"#"などなら意図したとおり動作するのは確認しているのですが、すでにデータを" "で作成しています。
どうすれば先頭の" "も分割文字として認識されるのでしょうか。
助言をよろしくお願いします。
0490nobodyさん
2006/07/31(月) 11:44:52ID:???それは上手なデザインと言えないような…
0491nobodyさん
2006/07/31(月) 11:47:29ID:???力技だけど $hoge の先頭に "#" なりを付加して explode にかけて
出来上がった $array[0] の 1 文字目を削除する、とか。
0492nobodyさん
2006/07/31(月) 11:53:11ID:CE9HBJM2ありがとうございます。
その手を試してみます。
0495nobodyさん
2006/07/31(月) 14:02:13ID:???「セキュリティ上、好ましくない」
とか、とても便利な逃げ常套句ですね。
それとも、なんですか…
具体的な例を提示できないから、
まさかこんな事言ってるんじゃありませんよね?
0497nobodyさん
2006/07/31(月) 14:11:06ID:???extract したような動作になってるのは回避できますか・・・
?p=abc
がそのまま$p=abcになってしまっている・・・。
0499nobodyさん
2006/07/31(月) 14:25:39ID:???User Agentにシングルクオートを入れてアクセスすると…
0500nobodyさん
2006/07/31(月) 14:37:43ID:???SELECT * FROM user_mst WHERE user_id = '' or user_id <> '' AND pass = '' or pass <> '' AND user_state <> 'del'
こういうSQL文になるように フォームの maxlenght を削ってローカルに保存し送信したら
ログインできたお
0501nobodyさん
2006/07/31(月) 14:42:04ID:???Fatal error: ERR_DBCls_ExecQuery :
SELECT * FROM count_tmp WHERE user_agent = 'test'test' AND remote_addr = '' AND remote_host = ''
in /virtual/propan/public_html/common/dbcls.php on line 238
DBでアクセス解析してるんだろう
誰かDELETEのSQLでも投げてやれよ、ちゃんと権限設定してあって大丈夫かもしれんが
0502nobodyさん
2006/07/31(月) 14:59:02ID:???0503nobodyさん
2006/07/31(月) 15:16:32ID:HekLsGeBint main(void)
{
double pai = 3.141592;
double r;
double taiseki;
int h;
r = 10;
h = 12;
taiseki = 1 / 3 * pai * r * r * h;
printf("三角錐の体積 = %d\n",taiseki);
return 0;
}
ってどこがおかしい?
0505nonicebody
2006/07/31(月) 15:22:45ID:???>>504
久しぶりにわろたw
0506nobodyさん
2006/07/31(月) 15:26:48ID:HekLsGeB0507nobodyさん
2006/07/31(月) 15:52:44ID:???#include<stdio.h>
が、なつかしー
0508nobodyさん
2006/07/31(月) 15:53:15ID:HekLsGeBテスト中なんだ!
0509nobodyさん
2006/07/31(月) 16:00:24ID:???0510nobodyさん
2006/07/31(月) 16:02:22ID:???三角錐の体積 = 0
0511nobodyさん
2006/07/31(月) 16:04:11ID:HekLsGeB持ち込み可だからパソコン使っても良いはず!
0512nobodyさん
2006/07/31(月) 16:05:52ID:???0513nobodyさん
2006/07/31(月) 16:07:07ID:???0514nobodyさん
2006/07/31(月) 16:07:45ID:???$pai = 3.141592;
$r = 10;
$h = 12;
$taiseki = 1 / 3 * $pai * $r * $h;
printf('三角錐の体積 = %d', $taiseki);
?>
0515nobodyさん
2006/07/31(月) 16:07:46ID:???クーラー病にかかった
PHPで治すにはどうしたらよいですか?
0516nobodyさん
2006/07/31(月) 16:12:18ID:???0520nobodyさん
2006/07/31(月) 16:20:30ID:HekLsGeB0522nobodyさん
2006/07/31(月) 16:28:21ID:HekLsGeB楽しかった。ありがとう。
0523nobodyさん
2006/07/31(月) 16:41:53ID:???PHPのinclude化したのですがwin IEだとインクルードした部分の
上にスペースができてしまいます。
しかし生成されたページのソースを表示してもなんらスペースができる
要因もないしインクルード処理をせずそのままページ上にhtmlを記述すると
スペースはできないのですが対処はあるのでしょうか?
0524nobodyさん
2006/07/31(月) 16:46:21ID:???0526nobodyさん
2006/07/31(月) 16:50:23ID:???0528nobodyさん
2006/07/31(月) 16:52:35ID:???後者なら仕方無いだろ。
ユーザスタイルシートでマージン殺せ。
0534nobodyさん
2006/07/31(月) 17:14:02ID:???0535nobodyさん
2006/07/31(月) 17:53:46ID:86BvdUEa0536nobodyさん
2006/07/31(月) 18:16:12ID:???再帰的にunlink-rmdirしていくのは、あまり本質ではないディレクトリ削除で
そこそこ行数が増えてしまうので、他の方法があれば是非ご教示ください
0538nobodyさん
2006/07/31(月) 18:26:58ID:???例えばここWebプログラミング板の
subject.txt(http://pc8.2ch.net/php/subject.txt)を
file_existsで存在の確認をしようとしても
falseしか吐かないのですが、file関数で直接調べることは
不可能、というか許されてないのでしょうか?
0541nobodyさん
2006/07/31(月) 18:45:29ID:???ごめんなさい、深い意味はありませんが、
本来API1つで書けそうなコードに対して、再帰のための関数まで書かなければいけないのは
ちょっと嫌だなと思っただけです。
方法が無いならもちろん書きます
0542nobodyさん
2006/07/31(月) 18:51:59ID:???0544nobodyさん
2006/07/31(月) 18:57:27ID:???キャッシュする関数はありませんか?
0545nobodyさん
2006/07/31(月) 19:04:07ID:???とすると、やはりPHP関数で書くしかないんですね
>>543
ありがとうございます。それを使って書くことにします
0546nobodyさん
2006/07/31(月) 19:14:27ID:63K97mubアクセスログをDBに書いてるのですが
まれにへんなREFERERがきて
invalid byte sequence for encoding "UTF8"
というPostgreSQLのエラーがでます。
UTF-8には存在しない文字コードが含まれてるとのことなのですが
保存する前の文字列から
UTF8にありえない文字列を除去、または
他の文字列に変換するような便利な関数か方法はないでしょうか?
0547nobodyさん
2006/07/31(月) 19:26:48ID:AsAaXYbZmysqlのクエリをphpで書くときに、たとえば
$sql = "update hogetbl set hogehoge ='$hogehoge'";
といったように、クエリ中の変数をシングルクオートで囲むのは危険なのですか?
\"".$hogehoge."\"のように書けば問題ないでしょうか?
0548(^ω^)
2006/07/31(月) 19:33:23ID:???http://blog.ohgaki.net/index.php/yohgaki/2006/06/12/a_a_a_a_a_ra_ca_a_oa_pa_fa_ma_sa_sa_raf
を参考にどうぞ
>>547
$hogehogeが外部から来て検査していない変数ならどちらも危険
0551546
2006/07/31(月) 21:55:58ID:???ありがとうございます
encoding attackとみなすのはちょっとあれだったので
mb_convert_encoding($s, "UTF-8", "UTF-8")
をかますことにしました。
0552nobodyさん
2006/07/31(月) 21:56:54ID:???DBインターフェースを利用してバインドしろ
PEAR::DB の場合は
$result = $db->query("update hogetbl set hogehoge=?", array($hogehoge));
変数の値を自動的にquoteしてくれる
0553nobodyさん
2006/07/31(月) 22:46:23ID:???え。むしろシングルクオートの方が普通じゃないのか?
つか、危険云々はシングルだろうとダブルだろうと全然変わらんよ。
なんでそんなので危険率が変わると思ってるのか、それが気になる。
どっからそんな誤った知識を聞いてきたんだ。
0554nobodyさん
2006/07/31(月) 23:25:37ID:WXdtFlcA<FORM ACTION="form02.php" METHOD="POST">
<textarea name="honbun" rows="4" cols="40"></textarea><br>
<input type="submit" value="送信する"><input type="reset" value="リセット">
</FORM>
<?php
$honbun = $_POST["honbun"];
// ↓改行を正規表現で\nにして、それでarrayに入れたつもりになってる
$honbun = explode("\n",$honbun);
//そうしたら↓で上手くいくかなと思いましたがダメでした。
$gyo = count($honbun);
for($i=0; $i > $gyo; $i++) {
echo "$honbun[$gyo]"."<br>\n";}
改行の置き換え方がダメな気がするんですが
こういう場合、どうやってtextareaからの改行を
配列に振り分けたら良いんでしょうか...
■ このスレッドは過去ログ倉庫に格納されています