トップページphp
1001コメント293KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2009/01/13(火) 21:48:25ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0951nobodyさん2009/01/31(土) 17:32:37ID:???
「通報しました」に続いて「自己紹介乙」を憶えたか
天才チンパンジーアイちゃんの驚くべき学習能力を垣間見た
0952nobodyさん2009/01/31(土) 19:02:48ID:???
>>948
お前が会社をクビになったのは
精神異常だから
0953nobodyさん2009/01/31(土) 19:03:48ID:???
お顔がまっかっか
0954nobodyさん2009/01/31(土) 19:07:09ID:8ejdmMTe
sourceforge.jpみたいな海外サイトってありませんか?
0955nobodyさん2009/01/31(土) 19:41:44ID:???
sourceforge.net
09569542009/01/31(土) 19:54:43ID:???
世界中にあったんですね、ありがとうございました
0957nobodyさん2009/01/31(土) 20:21:30ID:???
文字列が、日本語、中国語、韓国語、アラビア語・・・
どの言語で構成されてるか判定する方法はありますか?
文字コードはUTF-8です。
0958nobodyさん2009/01/31(土) 20:23:07ID:???
エンコードの範囲見れば?
0959nobodyさん2009/01/31(土) 22:20:41ID:???
>>950
おいそこのカスはやく次スレよろ
0960nobodyさん2009/01/31(土) 23:41:33ID:EImEHdHV
こんにちはって表示したいのですが表示されません
php5.2.6です
どなたかご教授お願いします
class hello() {
$konnitiha = "こんにちは";
}

$obj=new hello();
echo $obj->konnitiha;
0961nobodyさん2009/01/31(土) 23:52:36ID:???
function hello(){
return $this->konnitiha;
}
をクラス内に書き足せばいいかも
0962nobodyさん2009/02/01(日) 00:00:40ID:???
質問です。

任意の変数に最後にアクセスしたスクリプト名と行数などを
取得できる関数はあるでしょうか?
イメージ的にはdebug_backtrace()のような。
0963nobodyさん2009/02/01(日) 00:01:08ID:JltL2q4s
962です。すみません下げてしまいました。
0964nobodyさん2009/02/01(日) 00:22:46ID:???
>960
PHP: 返り値 - Manual

ttp://jp2.php.net/manual/ja/functions.returning-values.php
0965nobodyさん2009/02/01(日) 00:25:51ID:???
>>958
そうですね。標準じゃ用意されてないみたい。
ども。
0966nobodyさん2009/02/01(日) 03:14:43ID:???
>>960
(1)
メンバ変数をpublicにする

(2)クラス定義に()はいらない。

完成例↓
--------------------------------------

<?PHP
class hello {
public $konnitiha = "こんにちは";
}

$obj=new hello();
echo $obj->konnitiha;
?>
0967nobodyさん2009/02/01(日) 03:15:27ID:???
>>961
ウソを教えるな
0968nobodyさん2009/02/01(日) 08:07:47ID:???
外部URLの一部を読み込んで表示するにはどうすればいいのでしょうか?

例えば別のURLの内容に
Hello World
とある場合Hello World全部を読み込むのではなくHelloだけを読み込んで表示させたいです。

今は下記の方法で全部読み込んで表示させてるので
一部だけ読み込んで表示させる方法をご存じの方は教えて下さい。

<?php
$file = file("http://読み込み先のURL");
foreach($file as $line){
echo($line);
}
?>
0969nobodyさん2009/02/01(日) 08:42:58ID:???
スレタイをお読み下さい
0970nobodyさん2009/02/01(日) 08:52:43ID:cfVbpguo
$data = @$_POST["data"];
$txt = @file_get_contents("sample.txt");

if (ctype_upper($data)) {
echo "<p>$data は大文字のみです";}

雑誌に付属してた大文字判定スクリプトを元にfile_get_contentsを加えて
改造しているんですが、

if $dataに$txtに記述されている文字列が含まれているか {
含まれている→ echo "$data はOK" } 含まれてない → else { echo "$data はNG"; }

このような流れで処理したいのですが、こうした場合の書き方を教えてください。
0971nobodyさん2009/02/01(日) 09:06:03ID:???
>>970 strpos
09729702009/02/01(日) 10:55:59ID:cfVbpguo
>>971

おぉ!有難うございます。先日からいろいろぐぐってみてはいたのですがワードが
悪かったのかなかなか調べられませんでした。strposでぐぐって参考にして
if (strpos($data , $txt) === false) でうまく行きました、有難うございました。
0973nobodyさん2009/02/01(日) 13:19:29ID:???
>968
「全部読み込んでから、その一部を出力する」でいいか?
一部だけ読み込ませるのは難易度が非常に高いし、普通の用途なら性能的にも劣る。
それと、「おまじない」でなんとかできる範囲を超えている。そのコードが具体的に何をしているのか理解しないとその先には進めない。

読込先のURLに書いてあるのが
---
Hello World
This is second line.
---
だった場合、$fileは
$file[0] = 'Hello World';
$file[1] = 'This is second line.';
という配列になっている。今はforeachでこの全てを出力しているわけだが、ここから必要なものを抜き出せばいい。
それ以上は、具体的にどういうルールで何を抜き出したいのか分からないとなんともいえない。
例えば、1行目の1単語目を抜き出したいなら

$file = file("http://読み込み先のURL");  // $fileは上記の通り
$words = explode(' ', @$file[0]);  // $wordsはarray('Hello', 'World');
echo $words[0];
09749702009/02/01(日) 14:06:21ID:cfVbpguo
追加で質問お願いします。

$data = @$_POST["data"];
$txt = @file_get_contents("sample.txt");
if (strpos($data , $txt) === false){
echo "$data は含まれていない";
} else {
echo "$data は含まれている";
}

このsample.txtの内容が1行であればうまく行きましたが、複数行の場合は
うまくいきません。sample.txtにtakeshiが含まれていても、含まれていないと
返されます。なおsample.txtの中身は以下の通りです。
takeshi
nobita
suneo
になっていて、各行は改行しています。
そもそもfile_get_contentsはファイル全体を読み込んで1つの文字列として
扱う、とありますのでもしかしたらfile_get_contentsを使うのは間違って
いるのでしょうか?

0975nobodyさん2009/02/01(日) 14:16:54ID:???
>>974
int strpos ( string $haystack , mixed $needle [, int $offset ] )
文字列 haystack の中で、 needle が最初に現れた位置を数字で返します。 PHP 5 以前の strrpos() とは異なり、この関数は needle パラメータとして文字列全体をとり、 その文字列全体が検索対象となります。
0976nobodyさん2009/02/01(日) 14:29:05ID:57qIZ8Mn
ソースを読んで勉強したいと思いました
そこで海外製でオープンソースのDB不要の掲示板またはフォーラムがございましたら教えてください
0977nobodyさん2009/02/01(日) 14:29:36ID:57qIZ8Mn
phpbbとusebbはすでに読んで勉強してるので除外させていただきます
0978nobodyさん2009/02/01(日) 14:38:46ID:???
>974
それは
$_POST["data"]
の中に
「takeshi[改行]nobita[改行]suneo」
という文字列がないか検査している。

性能を気にしないなら、fileで配列とかに読み込んで、そのそれぞれについてPOSTデータからstrposで検索、
一件でも見つかったらアウト、という処理を書けばいい。
0979nobodyさん2009/02/01(日) 14:43:38ID:???
>>976
すれ違い
0980nobodyさん2009/02/01(日) 14:51:00ID:morOTwuV
PDOのメリットとデメリットを教えてください
0981nobodyさん2009/02/01(日) 15:07:27ID:???
>>980
google
0982nobodyさん2009/02/01(日) 15:19:11ID:57qIZ8Mn
>>979
スレ違いすみませんでした
移動しますのでどちらのスレで伺えばよろしいでしょうか?
0983nobodyさん2009/02/01(日) 15:28:32ID:???
個々のRDBMSにあまり依存しないコードが書ける。
(実際にはSQLに100%の互換性がないから、多少は依存する事が多いのだが)
逆に、個々のRDBMSの固有機能などは使えなくなる事がある。
基本性能は五十歩百歩だが、各RDBMSの固有機能を呼べない事で性能的に不利になる事はあり得る。

別にRDBMSに拘るシステムでもないなら、PDOを使っておくと分かりやすい。
PDOを使っている = RDBMS固有の機能は呼べない = 一般的なDB操作しかしていない 事が自明になるからな。
「別になんでもいいんだけど、とりあえずMySQL使ってます」という意図がコードから読み取りやすくなる。

各RDBMSの固有関数よりも、読める奴が多いのも利点。
DB2の関数やOracleの関数なんぞ知らんって奴は多いだろうが、PDOのメソッドなら大半の奴が分かる。
(同じような関数ばかりなので実際は迷う事は少ないのだが、たまに引数の順序とかで引っかかったりする)
0984nobodyさん2009/02/01(日) 15:46:52ID:57qIZ8Mn
「ベースとなる数字」
12
0.5
3.666
40.24

という数字があります
これを四捨五入しないで少数第1位までのを表示し、
また、少数点がない数字(12)は小数点第1位(12.0)で表示したいのですが
どのようにしたらよいか見当もつきません
どなたかお手数をおかけしますがヒントだけでもお願いします

「このように表示したい」
12.0
0.5
3.6
40.2
0985nobodyさん2009/02/01(日) 15:47:29ID:???
宿題は自力でやれ
0986nobodyさん2009/02/01(日) 16:23:59ID:???
ム板でやれ
0987nobodyさん2009/02/01(日) 16:28:09ID:???
>>984
ヒント:10倍 floor

ちょっとヒント出しすぎたかな
0988nobodyさん2009/02/01(日) 16:29:12ID:AjzQ70Qx
php5 sqlite利用です。

65$mailadd = sqlite_escape_string("abc@test.ne.jp");
66$send_time = "1";
67 if(!$db=sqlite_open("database/database.sqlite",0666,$err)){
68 die("データベース接続エラー".$err."<br>");
69 }
70 ////////////////////////////変更////////////////
71 $henkou_sql = "UPDATE add_table SET".$send_time."WHERE add=".$mailadd;
72 sqlite_query($db,$henkou_sql)
73 or die('ERROR:変更に失敗しました。');
74 print('変更しました。<br><br>配信時間帯:'.$haisinzikan);
75 sqlite_close($db);
76 ///////////////////////end of file
で、unrecognized token: "@" in URL on line 72
のエラーが出ます。
宜しくお願いします。
0989nobodyさん2009/02/01(日) 16:30:02ID:???
>>987
レベル低すぎ
0990nobodyさん2009/02/01(日) 16:31:04ID:???
add='メアド'
0991nobodyさん2009/02/01(日) 16:36:03ID:???
>>984
$keta=array(12,0.5,3.666,40.24);
foreach($keta as $seikei){
$seikei=sprintf("%0.1f",$seikei);
echo $seikei.'<br />';
}
0992nobodyさん2009/02/01(日) 16:40:45ID:???
>>991
12.0
0.5
3.7
40.2

残念
0993nobodyさん2009/02/01(日) 16:48:06ID:???
ww
09949882009/02/01(日) 16:49:21ID:???
SET の代入式抜けてました
ありがとうございました
0995nobodyさん2009/02/01(日) 17:28:26ID:???
>>984
$array = array(
12,
0.5,
3.666,
40.24,
);

foreach($array as $value) {
$value = number_format(floor($value * 10) / 10, 1);
echo $value."\n";
}
0996nobodyさん2009/02/01(日) 17:35:46ID:o7tkfiSb
readfileでphpと同じサーバー上のファイルを転送しようと思っているのですが
readfileだとヘッダーのContent-Typeが全てtext/htmlで転送されてしまいます
readfile("hoge.jpg")だとheader('Content-Type: image/jpeg');
readfile("hoge.png")だとheader('Content-Type: image/png');…の様に
phpを介さず本来送信されるはずだったContent-Typeを取得する方法を教えて下さい
0997nobodyさん2009/02/01(日) 17:42:08ID:???
>>995
すごい無駄な処理wwwww
俺が答えてやらないとダメなのかね
0998nobodyさん2009/02/01(日) 17:50:04ID:???
>>996
mime_content_type()
ただし非推奨なので、こっから推奨のやりかた探してきて。
0999nobodyさん2009/02/01(日) 18:11:18ID:???
【PHP】下らねぇ質問はID出して書き込みやがれ 80
ttp://pc11.2ch.net/test/read.cgi/php/1233479457/
1000nobodyさん2009/02/01(日) 18:18:56ID:???
1000ブリブリッ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。