09/04/20 09:49:59
そりゃそうだ
<?php
header('Content-Type: image/jpg');
print "<img src=\"sample.jpg\">";
これがimage/jpgなわけない
sample.jpg自身を出力すればいいよ
264:261
09/04/20 10:12:37
>>263
レスありがとうございます。
sample.jpg自身を出力ですか?
PHPが取得する内容によってsample.jpgは毎回変わるので
htmlの中にimgタグでsample.jpgを書くってことではないですよね。
私の方で何か凄い勘違いしてますか?
265:nobodyさん
09/04/20 10:26:29
うん
266:nobodyさん
09/04/20 10:47:10
phpでそのsample.jpgをバイナリーモードでオープンして読み込んで
そのまま出力するんだよ。
267:261
09/04/20 10:47:38
>>265
htmlにsample.jpg自身を出力すればよい
ってことになると思いますが、sample.jpg自身はPHPから引っ張ってくるので
htmlの中の記述としてはsample.phpになるかと思います。
php自身にsample.jpg自身を出力させるということでしょうか。
ファイルの拡張子を変更してみたりしましたが特に進展はありませんでした。
アホな私にもう少しだけ助言いただけないでしょうか。
本当に申し訳ないです。
268:nobodyさん
09/04/20 11:26:33
一番シンプルな形だとこうか。
<?php
header("Content-type: image/jpeg");
print file_get_contents("sample.jpg", FILE_BINARY);
?>
269:261
09/04/20 11:26:54
>>265-266
freadで読み込んでやれば出来るようになりました。
つまらない質問に長々とつきあっていただきありがとうございました。
270:nobodyさん
09/04/20 11:43:20
>>268
readfile
271:sage
09/04/20 11:59:35
横やりすんまそ
>>268だと複数画像って表示出来ないよね
header("Content-type: image/jpeg");
print file_get_contents("sample1.jpg", FILE_BINARY);
print file_get_contents("sample2.jpg", FILE_BINARY);
この場合sample1.jpgのみ表示されるけどこれって俺のサーバーの環境に依存してる?
272:nobodyさん
09/04/20 12:03:23
お前は何を言ってるんだ
273:nobodyさん
09/04/20 12:09:14
HTTPを先に勉強しる
274:nobodyさん
09/04/20 12:19:37
simplexml_load_fileを使ってRSSを取得しているのですが、
実行するタイミングによってなのか、
parser error : StartTag: invalid element nameが発生するときとしない時があります。
原因に心当たりがあれば教えてください。
275:nobodyさん
09/04/20 12:20:11
合成したいならGD組み込んだImage~関数使って自分でくっつける
276:nobodyさん
09/04/20 13:25:43
一行で掲示板を構築するやり方教えて
一行じゃ足りなかったらもうちょっと増やしてもいいよ
277:nobodyさん
09/04/20 13:33:20
改行しなければおk
278:nobodyさん
09/04/20 15:16:17
以下のような配列があった場合に、
nameの値だけ取り出して新たな配列を作る関数はありますか?
$arr = array(
array("id"=>"1", "name"=>"aa"),
array("id"=>"2", "name"=>"bb"),
array("id"=>"3", "name"=>"cc")
);
欲しい配列は{"aa", "bb", "cc"}です。
279:nobodyさん
09/04/20 15:18:18
PDOならfetchAll(PDO::FETCH_COLUMN, 1)で可
280:278
09/04/20 15:35:47
ありがとうございます。
追加モジュールが必要ということですね。
281:nobodyさん
09/04/20 15:40:57
ボタンのnameを可変変数にして、
「このボタンが押されれば、このページを表示する」という処理を行いたいのですが、
どのようにすればできるのでしょうか?
282:nobodyさん
09/04/20 15:41:28
いやDBから取得するときに工夫したほうが楽よってだけ
283:nobodyさん
09/04/20 15:43:05
>>281
<form action="hogehoge.html" method="get">
284:281
09/04/20 15:56:10
説明が足りませんでした。すみません・・・
どうしてもPOSTでやらないといけないのです。
<form method="post" action="hogehoge.php">
<?
$roopCnt = 3;
for($i=1; $i<=$roopCnt; $i++){
$btnName = "btn".$i;
?>
<input type="submit" name="$btnName" value="test" />
<? } ?>
</form>
このようなもので、
・btn1が押されたら、1ページ目
・btn2が押されたら、2ページ目
・btn3が押されたら、3ページ目
をそれぞれ表示したいと考えています。
285:nobodyさん
09/04/20 16:02:39
hiddenでいいんじゃ?
<input type="hidden" name="page" value="<?php echo $i; ?>">
あとHTMLの仕様上、ボタン1つにつきformも1つね。
まぁ1つのform内で異なるパラメータ付けた複数のsubmitボタン使えたら確かに便利なんだけど。
286:nobodyさん
09/04/20 16:06:08
ああごめん、もしボタン名で区別してもいいならsubmitのvalueの値でも良かったわ
-----------------------------------------
<?php
var_dump($_GET);
?>
<form action="">
<input type="submit" name="page" value="1">
<input type="submit" name="page" value="2">
<input type="submit" name="page" value="3">
</form>
-----------------------------------------
287:281
09/04/20 16:15:51
ありがとうございます!
なるほど、フォームを複数使うというのもありなんですね。
ボタン名はどれも同じで考えていますので、valueの値で判別するのはできないですね。
ボタンのネームに配列を使えれば、1つのフォームでもいけそうな気がするのですが、
そういうのってできるのでしょうか?
phpに手をつけはじめたばかりなので、書き方が思いつかない・・・
288:nobodyさん
09/04/20 16:20:41
>>287
<form action="">
<input type="submit" name="page1" value="1">
<input type="submit" name="page2" value="1">
<input type="submit" name="page3" value="1">
</form>
if(isset($_REQUEST['page1'])){
#処理1
}elseif(isset($_REQUEST['page2'])){
#処理2
}elseif(isset($_REQUEST['page3'])){
#処理3
}
289:nobodyさん
09/04/20 16:23:51
submitのnameの値で区別するのってどうなん?
個人的にはあまり好ましくないやり方だと思ってたけど
290:nobodyさん
09/04/20 16:30:24
valueは日本語が入ることもあるからname使うケースもあるなあ
291:nobodyさん
09/04/20 16:31:52
まぁ、普通はJSと組み合わせてやるね
292:281
09/04/20 16:33:24
JSを使うやり方もあるのですね。
288さんのやり方で頑張ってみようとおもいます。
ありがとうございました。
293:nobodyさん
09/04/20 17:49:16
さっさと答えろやksdm
294:nobodyさん
09/04/21 02:20:57 /739X32B
今カートを作ってるんだけど、質問です
やりたいことはURLリンク(hoge.com)
というページにアクセスした場合、動的に商品ID「1111」に一致する商品内容を表示したいです
商品IDごとにディレクトリを作ってhtmlも作るというのは現実的ではないと思い調べていたら.htaccessを知りました
そこで質問ですが、itemディレクトリに.htaccessを置いて、ディレクトリが無いので404エラーを出し
itemディレクトリに設置してあるitem.phpを表示するようにする
そのitem.phpでディレトクリ「1111」を取得して商品IDとして処理する方法って出来るのでしょうか?
出来る場合は邪道でしょうか?
295:nobodyさん
09/04/21 02:22:31
>>294
ZendFramework使え
296:nobodyさん
09/04/21 04:00:52
>>294
数回読んだけどいまいちつかめない…
とりあえずmod_rewrite使えって事かと
297:nobodyさん
09/04/21 07:01:25
すいません、考えてもわかりませんでした。
PHPでブログ自作で、カレンダーで記事のある日だけリンクを張る
仕組みがどうしてもわかりません
後日付関係全般。どのように処理してるのか、仕組みを教えて下さい
mysqlでもいいです。
298:nobodyさん
09/04/21 07:10:45
select distinct day(article_date) from articles where year(article_date) = 2009 and month(article_date) = 21
299:nobodyさん
09/04/21 07:11:25
21じゃなくて4だった
300:297
09/04/21 08:05:00
あ、わかりました
個数とかって記録すべきか、一回一回数えるSQLで行くべきか
悩みます
301:274
09/04/21 10:08:05
すみません、274なんですけど、
わかる方いらっしゃいませんか?
302:nobodyさん
09/04/21 10:37:43
エラー時のRSSデータをまず保存してはどうだろう
303:nobodyさん
09/04/21 14:24:33
>>300
そういう冗長性が発生するチューニングは遅いと思ってからやった方が良いんじゃない。
適切にインデックスつければよっぽど問題にならんし。
304:nobodyさん
09/04/21 22:37:51
$a='1,2,3,4,5,';
foreach(explode(',',$a) as $v) echo $v;
こう書くのってどう?キモい?
305:nobodyさん
09/04/21 23:23:43
コードの縮小化ならいいと思うがな
一人で使う分にはいいがいろんな人に見せるなら見栄えを取った方がいい
306:294
09/04/22 00:51:27
>>296
ありがとう
今までやってたけどうまくいきました
使ったものは$_SERVER['PATH_INFO']だけど、ここにたどり着けた事に感謝
307:nobodyさん
09/04/22 00:58:06
>>300
コードは分かりやすく書いてキャッシュかなぁ
308:nobodyさん
09/04/22 01:55:32
>>304
一度文字列に代入する理由が分からないが、explodeで配列にするのだから、
foreach (array(1, 2, 3, 4, 5) as $v) echo $v;
でよくね?
309:nobodyさん
09/04/22 11:07:24
foreachだけ配列を使うって決まってるならそれでもいいが
それだと使いまわせない
310:nobodyさん
09/04/22 11:43:35
$array = array(1,2,3,4,5)でいいじゃん
311:nobodyさん
09/04/23 18:29:33
PHP+MySQLで本のデータベースサイト作ろうと思っている
で、よくある「URLリンク(x-comic.info)」みたいにタグの部分をクリックすれば一覧が表示されるページ作りたいんだけど、
具体的な作り方が何を見ても載ってないというか俺が無知すぎて分からないというか・・・
こういうやり方が載ってるサイトとか書籍とかってないの?
312:nobodyさん
09/04/23 18:30:33
タグの部分?
313:nobodyさん
09/04/23 18:39:15
エロサイトの宣伝か・・・
314:nobodyさん
09/04/23 19:29:14
あー確かにエロサイトの宣伝と思われても仕方なかったなw
でも他にいいサイト思い付かなかったんだよ。
一般系のデータベースサイトで似たような構成のとこあったら教えてもらえると嬉しい。
知人に聞こうと思ったりもしたんだがここのエロ系データベースサイトくらいしか思いつかなくて聞けなかったんだわ
話は戻るけど>>312さんの言うとおりタグの部分(クリックすると一覧が出る)ところの作り方です
315:nobodyさん
09/04/23 19:56:26
>>314
多対多の結合だからちょっと難しいかもね。
データの件数にもよるが、真面目につくろうとすると↓のような感じで3つのテーブルが必要。
books(id、 name)
tags( id、 name)
books_tags( book_id、 tag_id)
あとはセレクト文でごにょごにょ。
316:nobodyさん
09/04/23 20:07:23
>>314
ドカントに広告出してる三流風俗店のHP管理乙
317:nobodyさん
09/04/23 21:14:05
>>314
ありがとう、検討してみる
俺はもうちょっと勉強が必要だな
318:nobodyさん
09/04/23 23:21:30
タグ名までid化する必要性って、あんまりない気がする。
319:nobodyさん
09/04/24 01:27:59
なんで?
320:nobodyさん
09/04/24 04:39:48
タグIDの代わりにタグ名そのまま使っても大差ないから。
っていうか、自分なら、ブック名も変更されたりかぶったりする可能性がないなら、
こっちもID化しないかなぁ。
データベース直接見た時にラクだから。
大概はインデックス貼っとけばパフォーマンスは、確保できるし。
321:nobodyさん
09/04/24 23:37:47
タグ名を自然キーとしてIDにするという話と、ID化しない=主キーのないテーブルを作るという話とどっちなんだ?
322:nobodyさん
09/04/24 23:42:55
うんID化とかいう俺俺用語は本質を理解してなさげが伝わるので微妙
323:nobodyさん
09/04/27 15:32:30
下のソースを実行すると画像が1個しか表示されません。
readfileの部分をHTMLタグのimg srcにするとちゃんと全部表示されます。
1個目は表示されているので間違ってはいないと思いますが、
大して理解出来ていない私にどこに問題あるのか突っ込みいれてもらえないでしょうか。
header("Content-type: image/gif");
// 画像表示
for($i = 1; $i < 10; $i++){
$num = substr($count , $i , 1);
readfile($num . ".gif");
}
324:nobodyさん
09/04/27 15:41:55
あたりまえだろ
最終的にどうしたいのか
325:323
09/04/27 15:46:02
複数の画像をHTMLに呼び出したいです。
>>323だとindex.htmlに表示することが出来ないのでHTMLに<img src~といった形で
呼び出せるようにしたいと考えてます。
iframeも考えたのですがデザイン上それがダメということでどうにか出来ないものかと思ってます。
326:nobodyさん
09/04/27 16:00:26
複数画像分だけimg src=~でいいじゃない
327:323
09/04/27 16:17:06
>>326
画像は日によって表示されるものがかわるので
HTMLにimg srcで固定してしまうわけにはいかない状態です。
またHTMLにimgタグでphpを指定しても1個しか表示されないので
複数画像分の指定がどのようにすれば出来るのかが分からない状態となっております。
328:nobodyさん
09/04/27 17:12:23
何か疲れるなあ
変更できないhtmlファイルの中に可変個の画像を置きたい、ということでいいのか?
329:327
09/04/27 17:14:43
>>328
はい。
説明がへたくそで申し訳ないです。
330:nobodyさん
09/04/27 17:31:11
img src=~を書き出すPHPをincludeすればいいんでないの
331:nobodyさん
09/04/27 17:39:04
まあどっちにしても1個のIMGタグで複数画像を表示するのは無理。
方法としては、複数の画像をPHPで1個にくっつけて出力。
IMGタグを複数書く手段を考える。
のどっちか。
IMGタグをPHPの出力で複数にしつつ、SRC="xxxx.php?param=1"とかやればいいように思うけど
332:327
09/04/27 17:42:52
HTMLにincludeとなるとSSIのincludeで埋め込むという事でしょうか?
実際に試してみましたがうまくいかないようです。
今だに>>323のソースで画像が1個しか表示されない理由が不明なのでがんばってみます。
333:nobodyさん
09/04/27 17:54:20
>>332
includeについては、HTML側を.phpにしてincludeすれば良いだけよ
PHP入門サイトを適当に流し読みして、
せめて何が出来るのかを理解してみたほうがよい
334:nobodyさん
09/04/27 18:06:26
>>332
>今だに>>323のソースで画像が1個しか表示されない理由が不明なのでがんばってみます。
コーラを飲んだらゲップがでるるくらいあたりまえなんだが
HTML自体わかってないのか
335:nobodyさん
09/04/28 05:11:21
Googleとかで適当に検索して ”この先を見るにはログインする必要があります”
ってサイトに巡り合ったとします。
それでGoogleにあるキャッシュってを押しても中身を見れず
ログインする必要がありますって言われるのはなんでですか?
GoogleのROBOTがそのページを収集してると思うんですけど
PHPでは何の関数を使ってるんですか?
336:nobodyさん
09/04/28 11:29:29
はい?
上:クローラーがログインできるわけないから
下:GoogleがPHPの何の関数を使ってるかということ?
337:nobodyさん
09/05/01 17:40:52
質問です。
foreachで値を.","で区切って
12,14,33,11,18,
ってなるまではいいのですが、最後の値18の次の","は消すことできますか?
12,14,33,11,18
にしたいのですが、お願いします。
338:nobodyさん
09/05/01 17:58:39
implode(',', $array)とか
339:nobodyさん
09/05/01 18:02:40
>>338
解決しました。thank you so much
340:nobodyさん
09/05/02 11:01:45 V+mNLWbo
PEAR:Net_IMAPで、
PHP上で生成したメールメッセージをGmailのINBOXに保存したいんだけど、
mail_composeとかmove関数が実装されてない?
341:nobodyさん
09/05/02 11:36:05 V+mNLWbo
自己レス。できた。
342:nobodyさん
09/05/02 17:12:13
PECLで魅力的な関数があるけど
みんなPEARとか使ってんの?
343:nobodyさん
09/05/02 21:20:35 +TEZ3ZO9
お願いです。教えてください。
smartyで年月選択のセレクトボックスをつくりたいのですが、リストの内容を、「現在の年からさかのぼって30年」というふうにしたいのです。
また、それとは別に「現在年から3年後」までのリストも表示したいです。
どこに何をいれれば表示できるのかさっぱりわかりません。
よろしくお願いします。
Apache 2.2.11
MySQL 5.1.33
PHP 5.2.9 です。
344:nobodyさん
09/05/02 21:54:01
誘導厨
↓
345:nobodyさん
09/05/02 22:47:23
>>343
思いっきり標準であるが
URLリンク(www.smarty.net)
346:nobodyさん
09/05/03 05:25:43
問い合わせフォーム等を、ググりまくりながらギリギリコピペなしで自作できるようになったレベルの準初心者です
今参考にしてるソースに一見簡単そうなのに未知の記号が出てきて、完全読解不能に陥ってます
ググりたいんですが何でググればいいか手がかりがなくてちょっと質問させてください
$number = ($_GET['n']) ? $_GET['n'] : count($r->getItems());
この行の「?」と「:」と「->」はいったいPHPの何を勉強すれば出てくるんでしょうか
この行が何をしてるのかわからないばっかりに変にいじってAnhttpdが強制終了しまくりますw
347:nobodyさん
09/05/03 06:31:10
三項演算子とアロー演算子
348:346
09/05/03 07:49:18
ありがとうございます
ひょっとして三項演算子ってifとelseでいいんじゃとか思うのは素人だからですね・・・
349:nobodyさん
09/05/03 10:06:03
>>345
ありがとうございます。
実はここに書き込む前にこのページを検索して見つけてはいたのですが、どうやって記述すればよいのかまったくわかりません。
ためしにsmartyのなかに{html_select_date}とかいてみましたがそのまま出てきてしまいました 汗
まったくのど素人で申し訳ないのですがよろしくお願いします。
350:nobodyさん
09/05/03 10:30:25
>>349
別にif-elseでいいよ
三項演算子は可読性が悪いから
会社とかだと大抵コーディング規約で禁止されてる
変数に入れられるのは結構いい場面もあるけどね
例にもあるように$_GETや$_POSTなんかをセットするときには便利
351:350
09/05/03 10:31:06
↑アンカーミス
>>348宛ね
352:nobodyさん
09/05/03 10:37:40
三項演算子なんてほとんどの言語に用意されてるわけだしわざわざ禁止する会社があるのか?
353:nobodyさん
09/05/03 10:43:38
三項演算子を入れ子にされるとわかりにくくなることはあるなw
354:343=349
09/05/03 10:57:52
なんとか試行錯誤して表示することができました。
これって平成~年とか昭和~年とか表示するドロップダウンリストをつくることはできないのでしょうか?
355:nobodyさん
09/05/03 12:40:21
>>352
グループで開発するってのはそういうことなんだよ
356:nobodyさん
09/05/03 13:04:05
複数人で作業するときとかスクリプトを縮小化とき以外に三項演算子使うやつはバカ
357:nobodyさん
09/05/03 13:21:09
w
358:nobodyさん
09/05/03 15:01:30
そろそろ話し控えないと参考演算子クンが荒らしに変貌しそうだよ!
359:nobodyさん
09/05/03 15:06:48
参考演算子てwwwwwww
360:nobodyさん
09/05/03 16:44:20
三項演算子を規約で禁止しちゃうような会社はいろんな意味でダメだろうなぁって気はする。
まぁバカでも組めるものを組ませるって考えはあるんだけどさ。
361:nobodyさん
09/05/03 16:56:31
>>360
残念
社会では三光演算子は嫌われます
362:nobodyさん
09/05/03 17:00:05
>>358
残念
社会では三光演算子は嫌われます
363:nobodyさん
09/05/03 17:06:02
確かにドカタの監督からは嫌われるだろうね。
364:nobodyさん
09/05/03 21:25:24
CSVにデータを書き出すスクリプトで、一行終わったら改行が入るようにしているんですが、
処理の途中で止まって(とめて)改行が行われないことがあります(あるとします)。その時に、ファイルの最後に
改行が入ってないことを検知して、改行をした上で新しいデータを次の行から作りたいんですが、
改行の有無はどうやったら検知できますでしょうか?今使っているエディタ(EmEditor)では
「↓」という記号で改行がマークされ、ググったりしましたが、どうしていいものやらよく
わかりません。
1,2,1,2,3,2[改行]
1,1,1,2,3,3[改行]
1,1,2,[処理ストップ、改行なしの行] <-- [改行]が無いことを検知して改行追加したい
常に改行を冒頭に入れるようにすると、データのない行ができて、のちのち面倒なので、
それは避けたいと思っています。
365:nobodyさん
09/05/03 21:31:37
\n
366:364
09/05/03 21:43:26
fseek($file, -4, SEEK_END);
$string = fgets($file, 1000);
var_dump($string);
dumpしても改行部分は空白になりますよね。
例えば、検索かけて、"\n"でマッチするんでしょうか?
367:364
09/05/03 21:56:26
マッチしますね。失礼しました。m(._ _)m
368:nobodyさん
09/05/04 13:26:07 0LqkTRhF
POSTで送った引数がIE6,7では表示されない
firefoxでは表示されてる。。。
php.iniの設定変更がいるのですか?
369:nobodyさん
09/05/04 13:40:32
いらん
370:nobodyさん
09/05/04 13:53:15 0LqkTRhF
ある掲示板でvariables_orderを「EPGS」にすればとありましたが、
それでも表示されないまま。
HTMLやCSSの問題ですか?
371:nobodyさん
09/05/04 14:09:38
>HTMLやCSSの問題ですか?
それ疑う前に
ソースみて反映されてるかどうか確認してみなよ
372:nobodyさん
09/05/04 14:22:28 0LqkTRhF
list.phpからdetail.phpにsubmitしてます。
ソースは以下です。
「list.php」
<html>
<body>
<form action="detail.php" method="POST">
<input type="image" src="img/detail.gif" name="submit" value="0001">
</form>
</body>
</html>
「detail.php」
<html>
<body>
<p>詳細情報</p>
<?php
print "submit:".$_POST["submit"]."<br>";
?>
取得情報:
<?php
print $_POST["submit"]."<br>";
?>
</body>
</html>
373:nobodyさん
09/05/04 14:34:18
IEでは位置情報しか送られん
374:nobodyさん
09/05/04 15:14:34 0LqkTRhF
解決しました
type="image"でなく、hiddenでPOSTしたらうまくいきました
phpinfo()で表示された値は位置情報だったんですね
375:nobodyさん
09/05/04 15:15:04
phpinfoで出るっけ?
376:nobodyさん
09/05/05 21:05:16
DBのログを取りたいのですがどうすればいいですか?
よく不正アクセスの痕跡を見つけた と言ってますが・・・
377:nobodyさん
09/05/06 12:17:28
二つの文章があります
(☆)(★)(◇)
(☆)(★)(◇)
(★)の部分は文字列、文字数共に不確定で1,2共に全く違う文章です。
(☆)(◇)の部分は文字列、文字数共に不確定ですが1,2共に同じ文章です
(★)の部分のみを切り取りたいのですがどうすればいいでしょうか?
378:nobodyさん
09/05/06 12:18:14
すみません番号を振るのを忘れていました
(☆)(★)(◇)
(☆)(★)(◇)
↓
1.(☆)(★)(◇)
2.(☆)(★)(◇)
379:nobodyさん
09/05/06 12:26:10
>>377
意味がわからん
380:nobodyさん
09/05/06 12:27:01
>>378
URLリンク(pear.php.net)
こんなのとか
381:nobodyさん
09/05/06 12:27:14
>>379
文章が二つあってどこが変更されたか検知するプログラムを作る場合どうすればいいでしょうか
382:nobodyさん
09/05/06 12:28:09
>>380
ありがとうございます!!こんな感じです
383:nobodyさん
09/05/06 13:20:24
>>380
やっぱりこれじゃダメでした
改行していない場合同じ文字列の部分も違う物として取得されてしまいました
改行していない文章の差分を取得したいのですが無理でしょうか・・・
たとえば
aaabbccc
axxaabbbccac
の二つの文章があった場合
xxとbとaを取得したいのです
384:nobodyさん
09/05/06 13:31:31
すみませんやっぱり大丈夫かもしれませんw
全て1文字ずつの配列にしたらしっかり判定されました
お騒がせしてすみません
385:nobodyさん
09/05/06 15:01:48
PDOを使って
MYSQLからデータ表示するコードください?
386:nobodyさん
09/05/06 15:06:38
URLリンク(jp2.php.net)
387:nobodyさん
09/05/06 15:36:58
>>386
ありがとうです
あと、実行時にApache HTTPサーバーと表示させ落とされます
どうすればいいですか?
388:nobodyさん
09/05/06 15:42:54
Apache のログ見ろよ
389:nobodyさん
09/05/06 16:04:07
>>388
! ありがとうです
なんとかできそうです
390:nobodyさん
09/05/06 16:48:50 GdRs26+o
外部サイトからLZHファイルを取得して解凍、内容を取得したいのですが、うまくいきません・・・
$url = 'xxxxx'; //ファイルのURL
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
$filename = $path . 'test.lzh';
file_put_contents($filename, $data);
exec('lha e ' . $filename);
こんなかんじなのですが、
ファイル取得まではできているのですが、
解凍ができません;
どこがおかしいのでしょうか?
391:nobodyさん
09/05/06 16:54:27
>>383
できる
392:nobodyさん
09/05/06 17:07:04
>>390
lhaにはパス通ってるの?
execの引数でフルパスで指定してみては
393:390
09/05/06 17:32:18 GdRs26+o
>>392
レスありがとうございます。
展開先を指定したらちゃんと解凍できました;
スレ汚しすみません;;
せっかくなので聞きたいのですが、
外部からのファイル取得方法は上記でよいのでしょうか?
いちど変数に格納してfile_put_contentsで書き込むというのがなんだか回りくどい気がするのですが、
ほかに方法がありましたら教えてください!
394:nobodyさん
09/05/06 17:55:33
そらまあローカルの実ファイルが無いと無理だからなあ。
組み込んでメモリストリームから、、、とかはこのスレの範囲外かな
395:nobodyさん
09/05/06 19:39:47
一旦、全部メモリ中に展開するってのはどうなんかね。
fread/fwriteを繰り返した方がいい気もするが。
396:nobodyさん
09/05/06 23:04:45 XF4iBoH0
MySQLでテーブルを作ったとき確認する方法は
PHPで記述する場合mysql_resultでいいのでしょうか?
397:nobodyさん
09/05/07 07:02:22
$data = array(
'hoge' => 'hoge',
'fuga' => 'fuga'
);
$data = array(
0 => array(
'hoge' => 'hoge',
'fuga' => 'fuga'
),
1 => array(
'hoge' => 'hoge',
'fuga' => 'fuga'
)
);
このような配列を、前者のタイプか後者のタイプか判定したいのですが、
どのような方法が考えられますでしょうか?
よろしくお願いします。
398:nobodyさん
09/05/07 10:40:06
前者のタイプか後者のタイプかってどういうこと?
399:nobodyさん
09/05/07 11:34:01
2次元配列かどうかってことだろ?
400:397
09/05/07 12:28:43
>>398
>>399
説明が足りず申し訳ありません。
2次元配列かどうか、というか、
1次元目(?)が連想配列なのか、単純な配列なのかを調べたいのです。
現在は、
if ( isset ( $data[0] ) )
だったら、後者というように判定しているのですが・・・
401:nobodyさん
09/05/07 12:35:38
ループでキーに数値以外が含まれてるかどうか判定するだけじゃん
プログラマーならすぐ思いつくと思うが・・
402:nobodyさん
09/05/07 12:45:30
>>400
多分、PHPには「単純な配列」って無いんじゃないかな。
URLリンク(php.morva.net)
>PHP の配列は、実際には順番付けられたマップです。マップは型の一種で、 値をキーに関連付けます。
403:nobodyさん
09/05/07 13:11:43
>>402
だからキーが数値のみで
構成されているかどうかを
調べたい、ってことだろ?
専用関数あるだろ。
404:nobodyさん
09/05/07 13:25:21
>>403
それは質問者が考えればいいことだし。
ただ、「普通の配列」ってのは無いってだけで。
歯抜けな配列も作れるし、キー値だけでチェックするのもかなりびみょー。
ところで配列のキー値がすべて整数かチェックする専用関数って何?
ざっと見た感じ見当たらないんだけど。
URLリンク(php.morva.net)
405:397
09/05/07 13:25:50
>>401
それはもちろん思いついたのですが、
もう少しスマートな方法はないかと思いまして・・・
return array_keys($array) !== range(0, count($array) - 1);
こんな方法があるのを知ったのですが、
これだと、
$array(
0 => 'hoge',
2 => 'fuga',
3 => 'piyo'
);
のように、配列が歯抜けになっている場合に一致しなくなりますし・・・
>>403
専用の関数とは何のことでしょうか??
406:nobodyさん
09/05/07 13:38:16
きみの言うスマートな方法ってのは明確で解かりやすいというより
制御構造使わないような方法のこと?
407:nobodyさん
09/05/07 18:30:34
クラスってのがなかなか理解できません
どなたか詳しく解説してくれませんか?
408:nobodyさん
09/05/07 18:37:19
どこが分からんの?
409:nobodyさん
09/05/07 22:32:52
>>407
いいよ。
410:nobodyさん
09/05/07 23:13:30
このスレの先輩方はhtmlは得意でしょうか?
411:nobodyさん
09/05/07 23:28:15
おうよ
412:nobodyさん
09/05/07 23:31:35
ほんとかよwwwwwwwwwwwwwwwwwww
413:410
09/05/07 23:34:13
僕は一応html4系とxhtml1.0と1.1で、しかもstrictとtなんちゃらで使えるタグと属性を口頭で全部言えるぐらいの知識しか持ちません
xhtml1.0 strictで使えるタグの数もパッと言えるぐらいの知識です
414:nobodyさん
09/05/08 00:10:55
じゃ言ってみてくれ
415:410
09/05/08 00:13:27
>>414
76個
416:410
09/05/08 00:14:07
ちなみにhtml4.1 strictとxhtml1.0 strictで使えるタグは同じです
417:nobodyさん
09/05/08 00:16:17
はよ全部言えよ
418:nobodyさん
09/05/08 01:36:40
なんだよ質問じゃなくただの知ったかかよ
419:nobodyさん
09/05/09 08:57:00
4択問題をcsvに記録していくスクリプトを作っています。
csvに下のように書き込まれるようにしています。
名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)
複数の人が同時に行うと、下のようにデータが混ざってしまいますよね?
Aさん,答え(Aさん),[Bさん参入で改行]
Bさん,答え(Bさん),答え(Bさん),答え(Aさん),答え(Aさん),答え(Bさん),
実際に試してみるというのがやりにくい問題なので、何を勉強しないといけないか
教えていただけますか。
そもそもCSVでこの手の記録をやろろうとするのはどうなんでしょうか。
420:nobodyさん
09/05/09 09:09:56
flock
421:nobodyさん
09/05/09 10:00:00
>>419
コード書いてもらわないと的を得た回答はでないよ
422:nobodyさん
09/05/09 17:18:10
以前$_SERVER["DOCUMENT_ROOT"]のことでググったときに
DOCUMENT_ROOTの値が実際の値とは違う場合がある事例を見ました。
とすると<base>タグやスクリプト内で絶対パスを作るときにこの変数を使うのは
危険な可能性もあるんでしょうか。
$rootPath = $_SERVER["DOCUMENT_ROOT"];
$a = $rootPath."/sample";
<base href="{$rootPath}">
また$_SERVER["DOCUMENT_ROOT"]以外にルートパス(?)を取得する方法はありますか?
423:nobodyさん
09/05/09 17:40:17
aru
424:nobodyさん
09/05/09 18:05:56
そのDOCUMENT_ROOTの値が実際の値とは違う場合がある事例を知らないけど
その事例がわかれば対応できないか?
425:nobodyさん
09/05/09 23:32:39
DOCUMENT_ROOTって、
public_htmlとか、
htdocとかのこと?
426:nobodyさん
09/05/10 00:07:15
>>425
知らない奴に聞いてねえよ
ロムってろks野郎
427:419
09/05/10 00:07:59
概略はこんな感じです。最初のifで名前の処理をした後は、最初の問題提示が
一番下のelseから始まり、まず二つ目のifに入り、その後は最初のelseの中をぐるぐるやって、
問題がなくなったら終了するような仕様です。今のところflockはあてずっぽうに入っている状態です。
15問あったとしてAさんがそれを終えるまでのすべてにろっくをかけておかないといけないのでしょうか。
複数の人が同時に問題を解けるようにしたいのですが。
if($_POST["id"] =="999"){
$file_name = "record.txt";
$file = fopen($file_name, "a+") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
中略(解答者の名前の書き込み)
fputs($file, $time);
flock($file, LOCK_UN);
fclose($file);
}
if (is_numeric(@$_POST['answer']) || $_POST['id'] == "2"){
$file = fopen($file_name, "a") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
if(intval(@$_POST['k']) == "0")
{
中略(正誤判定)
fputs($file, $string);
flock($file, LOCK_UN);
fclose($file);
中略(問題提示とPOST)
}
428:419
09/05/10 00:11:40
スクリプト後半です。長いので細かいところは省略してありますが、
本物は期待通り動くことは動きます。
**********
else {
$file_name = "record.txt";
$file = fopen($file_name, "a") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
中略(正誤判定)
fputs($file, $string);
flock($file, LOCK_UN);
fclose($file);
//////全問終了
if($question[0] == ""){
echo "<br><br>終了です!";
中略
$file_name = "record.txt";
$file = fopen($file_name, "a") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
$string = $array.",";
$time = $time."\n";
fputs($file, $string);
flock($file, LOCK_UN);//同時アクセスを防ぐロックを解除
fclose($file);
}
else{
中略(問題提示とPOST)
}
} }
else {
$fname = "voc.csv";
$data = file($fname);
中略(問題提示とPOST)} }
429:nobodyさん
09/05/10 00:12:13
>>427
マジレスするとflock($file,LOCK_UN)はいらない
なぜならfcloseでファイルが閉じられるから
430:nobodyさん
09/05/10 03:06:05
>>427
> 複数の人が同時に問題を解けるようにしたいのですが。
全問終了時だけファイル操作(とロック)すればいいと思うんですよね。
431:419
09/05/10 07:43:14
>>429
ありがとうございます。
>>430
ありがとうございます。
そうですね。最後に一気に書き込む仕様にしておけばいいですよね。
今の仕様ですと、最初のelseの中でぐるぐると出題するごとに
各問題に対する回答者の答えを一つ一つ書き込む
仕様なので(<私の理解が間違ってなければ)、おそらく複数の人が
回答すると419のようにデータ混じるのではないかと思っています。
途中の回答を回答者ごとに一時的にどこかにためておけばいいんですね。
テンポラリーファイルを回答者ごとに別々に作成して回答を一時的に格納し、
最後にひとつの記録用ファイルに書き込むというのを今考えたんですが、
これどうでしょうか、他にもっといいやり方があるでしょうか?
432:nobodyさん
09/05/10 12:07:35 glvoYFM0
掲示板の親記事にコメントすると
その親記事にコメントが表示されますが
これってどういうアルゴリズムなんでしょうか?
433:nobodyさん
09/05/10 12:14:49
全てはデータ構造
データ構造が決まればそれに合わせてプログラムがコーディングされるだけ。
434:nobodyさん
09/05/10 20:17:25 kteLIAQk
携帯電話で対応機種を判別するWebページをphpで作っています。
エラーは出ずに動作はしたのですが、対応機種に一致しているはずなのに
一致判定を通ってくれません。
判定条件が間違っているのかもしれませんが、自分ではさっぱりわからないので
ご指摘を頂ければと思います。
【test.php】
<?php
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$deviceList = file("DeviceDisplay.csv");
foreach ($deviceList as $key => $value)
{
rtrim($value);
list($name, $agent) = explode(',', $value);
print $name."<br />";
print $agent."<br /><br />";
if ((strstr($userAgent,$agen))!= false){
print "おk";
break;
}
}
print $userAgent."<br />".$agent;
}
【DeviceDisplay.csv】
903i,D903i
よろしくお願いします。
435:nobodyさん
09/05/10 20:18:00
>>434
PEAR使えば?
436:nobodyさん
09/05/10 20:21:35
$value= rtrim($value);
じゃないか?
437:nobodyさん
09/05/10 20:34:37
$getUA = $_SERVER['HTTP_USER_AGENT'];
$f = file("DeviceDisplay.csv");
foreach ($f as $k=>$v){
list($name, $ua) = explode(',', rtrim($v));
if ($getUA == $ua) {echo "csvに記録されてました";}
}
438:nobodyさん
09/05/10 20:45:09
>>437
===
439:nobodyさん
09/05/10 20:45:11
> if ((strstr($userAgent,$agen))!= false){
$agent
なんかいろいろあるな
440:434
09/05/10 20:55:16 kteLIAQk
>>435-439
ご指摘ありがとうございます!
今回は自力でやりたいのでがんばってみます。
改行を消したのにそれを代入してないのと、
==で判定、そして決定的な綴りミスですね・・・orz
以上を踏まえてリベンジしてきます。
441:nobodyさん
09/05/12 10:24:23
1.ファイルがない時は作成し、ある時は追加モードでオープン。
2.ファイルが新規作成された時は、chmod 0666
という処理をしたいです。
fopen($filePath, 'a')でファイルオープンした時に、
新規作成されたかどうかが分かれば簡単にできると思うのですが、
できません。
どのようにすれば目的の処理ができるでしょうか?
442:nobodyさん
09/05/12 10:34:06
file_exisitsでだめなん?
443:nobodyさん
09/05/12 10:54:04
chmodで失敗したらファイルがないでいいじゃん
444:nobodyさん
09/05/12 10:54:47
マジレスするとファイルの作成&書き込み時にfile_exisitsなどはやめた方が良い
445:nobodyさん
09/05/12 11:07:09
flockと組み合わせればfile_exisitsはアリかと
446:nobodyさん
09/05/12 11:18:38
>>444
何故に?
447:nobodyさん
09/05/12 11:32:33
>>445
chmod するしないぐらいなら、そんなに神経質にならなくても良いと思うが。
448:nobodyさん
09/05/12 21:45:37
>>446
ファイルがあるかな?
ファイルがないなー
よーしファイルをつくるぞー
ちょーーとまったーワシが先にファイルを作るでぇ~ゲヘゲヘ
よっしゃーワシが先にファイル作成完了~~大勝利~~~
、、、さーーって、さっき調べた時にファイルなかったから、作るかな,,,
作成、っと、、、ん?今、なんか、違和感を感じたが、、、、なんだったんだ???
449:nobodyさん
09/05/12 21:47:19
file_exisits使うのはネタに見えてしまうw
450:nobodyさん
09/05/12 21:54:39
file_existsの何が悪いのかkwsk
451:nobodyさん
09/05/12 22:36:38
>>448
今回はaモードでopenだから関係ないじゃん。
452:nobodyさん
09/05/12 23:01:41
俺的にはスクリプトでパーミッションを弄る動作はダメコードだと考えている
453:nobodyさん
09/05/12 23:06:33
だからfile_existsの何が悪いのよ
適当なこと言わないでよ
454:nobodyさん
09/05/12 23:06:47
別にいいやん。
ただWindowsだとchmodできんのはチト不便。
455:nobodyさん
09/05/12 23:10:17
>>453
まず貴様がfile_existsって問題ない理由を述べればいいよ
456:nobodyさん
09/05/12 23:13:14
>>455
マニュアルに使用上の注意について書いてないじゃない
457:nobodyさん
09/05/12 23:15:59
また荒らしかよ
458:nobodyさん
09/05/12 23:18:11
0666ってことはログファイルか
459:nobodyさん
09/05/14 21:19:26
なんだってー
460:nobodyさん
09/05/15 06:59:21
結局file_existsが駄目な明確な理由を誰も上げられないんですね
2chなんて所詮口だけ野郎ばっかりか・・
461:nobodyさん
09/05/15 07:11:40
何を今更
462:nobodyさん
09/05/15 08:06:57
>>460
ホント期待できなくなったね。
昔と違って、OK waveとか知恵袋とかあるし、まともな連中はそっちの方を見てるのかな。
463:nobodyさん
09/05/15 08:18:07
>>460
このスレにはニートとフリーターしかいないんだからしょうがないよ
それにPHPはバカ専言語だから優秀な人間は興味を示さないし
464:nobodyさん
09/05/15 08:23:51
>>463
たしかにPHPなんて使えても所詮WEB開発が関の山だからねw
そのWEB開発にしても最近はRubyとかPythonが台頭してるわけだからPHPを好んで使ってる奴は
アレとしか言いようがないね
465:nobodyさん
09/05/15 08:24:53
何を今更
466:nobodyさん
09/05/15 08:30:41
とまぁここまで全部>>460の自作自演なんだけどね
467:nobodyさん
09/05/15 08:34:55
どこでRubyとPythonが台頭してるんだ?
468:nobodyさん
09/05/15 08:36:49
>>467
地球上のどこかで
469:nobodyさん
09/05/15 08:40:09
>>467
お前の知らない外の世界でだよ
まったくこれだから警備員は(ry
470:nobodyさん
09/05/15 08:40:41
じゃちょっと示してみ
471:nobodyさん
09/05/15 08:41:47
釣られてソース厨出現ww
472:nobodyさん
09/05/15 10:14:37
>>460
仰る通りニートとフリーターの憩いの場なんで帰っていただけませんか?
473:nobodyさん
09/05/15 12:25:37
>>460
じゃあこのまま使い続けてください
誰も止めはしませんので^^
474:nobodyさん
09/05/15 13:22:36
過疎杉sage
475:nobodyさん
09/05/16 22:47:21
可変変数って大抵他の書き方した方がスマートでわかりやすいソースになると思うんだけど、
一体どういうときに使えばいいのだろう?
476:nobodyさん
09/05/16 23:33:14
>>475
特に使う必要はない。
perlであったから、いれてみました、ってだけ。
477:nobodyさん
09/05/16 23:42:36
>>476
じゃperlではどのように使われてるの?
478:nobodyさん
09/05/16 23:45:50
それは老人にきいてください
Perlについての質問箱 39箱目
スレリンク(tech板)
479:nobodyさん
09/05/16 23:48:44
お前は知らないんかw
480:nobodyさん
09/05/17 00:49:35
>>475
配列をextractで展開するのと似たようなことが出来るかな。
$arr = array('a'=>'b', 'c'=>'d', 'e'=>'f');
foreach($arr as $key=>$value){
${$key} = $value;
}
んで、最終的に例えばテンプレートファイルを
include 'template.html'
とか呼んでやれば、テンプレート内で展開した変数を使えたりとか?
これだけだったらextractすればいいけど、配列のキーの特定の文字だけ展開したくない場合とか、
(例えば、先頭がアンダーバーで始まってるものは展開しないとか)
条件をつけて展開できるかな。
481:nobodyさん
09/05/17 06:43:27
本日も過疎。
最新50に1週間も前のレスが表示されるってどんだけww
482:nobodyさん
09/05/17 11:51:52
この板ではよくあること
483:nobodyさん
09/05/17 22:52:05
俺が常駐してるスレなんて連続20レスほど保守あげ
しかも俺の
484:nobodyさん
09/05/18 02:39:12
本番マシンで、エラーを表示させたくない場合、
ini_setと
error_reportingと
どっちを使うの?
485:nobodyさん
09/05/18 02:49:39
display_errorsじゃねーの?
486:nobodyさん
09/05/18 03:04:08
>>485
書き方は?
487:nobodyさん
09/05/18 03:05:27
display_errorsってディレクティブでしょう?
ディレクティブってphp.iniにしか設定できないんでしょう?
レンタルサーバーなので、pnp.iniはいじれない環境です。
なので、php.iniをいじらなくてもできる方法を教えてください
488:nobodyさん
09/05/18 03:11:25
じゃhtaccessでok
489:名無し募集中。。。
09/05/18 03:28:45 wP2DRNT9
ini_set('display_errors','on')
490:nobodyさん
09/05/18 10:16:50
情報小出しうぜえ
491:nobodyさん
09/05/18 10:36:42
小出しにしたほうがなんだかミステリアスでいいじゃないか
492:nobodyさん
09/05/18 20:39:24
>>490
自閉症のあなたがたの
質問能力を鍛えてあげているのです。
営業にまわったとき、
「情報の後だしウゼエwww」
とかって見込み客に言うんですか??
493:nobodyさん
09/05/18 20:40:09
>>489
これでいいの?
494:名無し募集中。。。
09/05/18 20:53:48 wP2DRNT9
今決まってることを先に全部伝えれば余分な工数が圧縮できるので
納期も見積もりも低く抑えることができるわけで
積極的な答えを引き出したいなら客も小出しにはしないけどな
495:nobodyさん
09/05/18 20:55:50
>>494
それであなたは営業に回ったときに、
「情報の後出しウゼエwww」
とかって見込み客に言ってるの?
496:nobodyさん
09/05/18 21:34:39
<a href="XXX">vvv</a>
これで、XXXにユーザーからの入力値を入れるんだけど、
javascriptのコードを書かれると
そのまま実行されるんで、
サニタイズしたいんだけど、専用関数あるの?
497:nobodyさん
09/05/18 21:41:15
サニタイズ言うな
498:nobodyさん
09/05/18 21:42:52
>>496
URLリンク(jp.php.net)
499:名無し募集中。。。
09/05/18 21:47:19 wP2DRNT9
>>495
「今決まってることを先に全部伝えてもらえれば余分な工数が圧縮できますよ 」
って言うけど
500:nobodyさん
09/05/18 22:14:26
>>498
それだとサニタイズできないでしょ。
501:nobodyさん
09/05/18 22:53:23
>>500
・・・・え? 何がしたいの?
502:nobodyさん
09/05/18 23:01:36
<a href="javascript:[ここにjavascriptのコード]">vvv</a>
こう書かれると、htmlなんとかでは
サニタイズできないでしょう?
だからjavascriptって文字をかけない
ようにしなければならないんだけど、
これって正規表現使ってゴリゴリ書かないと
だめなの?
503:nobodyさん
09/05/18 23:03:28
error_reporting(0);
これって使わないの?
504:nobodyさん
09/05/18 23:11:09
>>502
実際にそこに何が入るのか知らんが、入力値を分解してURL作ればいいだけの話じゃないの?
505:nobodyさん
09/05/19 02:17:09
ログファイルの中味を見られないようにするために、
拡張子を.phpにしようと思います。
これだと、たとえブラウザで直接ファイルを指定しても、
拡張子が.phpなのでPHPファイルとして実行しようとするので
(そして中味はPHPのスクリプトでなくて単なるテキストファイルなので)
見られないというわけです。
でもパーミッションが書き込み可能になっていると
問題ありますか?
506:nobodyさん
09/05/19 02:28:01
ドキュメントルート外や.htaccessでアクセスできないようにする方が吉
拡張子phpは最後の手段
507:nobodyさん
09/05/19 02:31:21
>>505
発想は悪くないんだがとりあえず試してみ。たぶん思ったのと違う結果になるw
あとパーミッションはあまり気にするな。共用鯖じゃsafemodeでも無い限りどーにもならん。
508:名無し募集中。。。
09/05/19 03:02:13 qJyAGOVK
PHPは<??>で囲まない部分はHTMLと同じ扱いだからなw
509:nobodyさん
09/05/19 10:05:00
>>495
素直に謝って今後そうすることが無いようにすればいいのに
開き直ってそんなこと言ってるから未だにろくな仕事が出来ねえんだよ。
510:nobodyさん
09/05/21 17:42:51
php_browscap.ini は商用利用可能なのでしょうか。
その他の制限があったりしないか不安なので質問です。
よろしくおねがいします。
511:nobodyさん
09/05/22 00:11:50
教科書に、
「 magic_quotes_gpc がONになっているときは、
stripslashes を使ってエスケープを取り除く」
と書いてあるのですが、そんなことをするよりも、
ini_set
とかで、
magic_quotes_gpc をOFF
にするほうが
いいのではないですか?
512:nobodyさん
09/05/22 00:13:11
>>511
いいと思います。
513:422
09/05/23 14:25:12
>>484に遅レス便乗で、今のレン鯖で.htaccessは使えますがOptionsディレクティブが使えないので
ini_set("display_errors", 0)をファイルの先頭に書こうと考えてます。
ini_set実行以前にエラーが出たら意味なしになってしまいますが、それはどういった場合が考えられるでしょうか。
514:nobodyさん
09/05/23 14:27:08
ん名前欄は関係ないです。すみません。
515:名無し募集中。。。
09/05/23 14:27:44 sw/qjhoP
ini_setを最先頭行に書けばいいだけだと思うが
516:nobodyさん
09/05/23 15:28:46
>>515
そうですね。
たとえば何らかの理由でファイルが読み込めない、実行できない場合ini_set前なのでエラーが出ると思います。
でよくよく考えたら今はerror_reporting(0)でエラーメッセージが出ないようにしてるんですけど
上記のようなときは結局エラーが出るだろうから、ファイル外で設定を変更できない以上エラー表示から逃れられなさそうです。
完全にエラーメッセージを非表示にできなければerror_reporting(0)で対処するつもりで質問をしたんですが、
これも完全でないなら素直にini_set("display_errors", 0)+ログ書き出しで対処します。
失礼しました。
517:nobodyさん
09/05/23 15:36:50
PHP前ならPHPのエラーはでないと思うが
518:nobodyさん
09/05/23 15:38:13
データベースのエラー文がそのまま表示されてるサイトとかもあるし
そこまで気にしないでも
519:名無し募集中。。。
09/05/23 16:00:00 sw/qjhoP
流石に本番運用では気にした方がいいと思うが
520:nobodyさん
09/05/24 19:13:43
携帯で画像をランダム表示したいのですが
どのようなスクリプトが使えるのでしょうか?
521:nobodyさん
09/05/24 19:26:51
業者に1万円払って作ってもらえ
522:nobodyさん
09/05/24 22:03:26
今なら俺が9980円で
523:nobodyさん
09/05/25 00:22:37
session.use_only_cookiesが0の場合、
URLにセッションIDが含まれてしまうので
セキュリティ的に、危険です。
なのでこれを普通は1にすると思いますが、
それはphp.iniを編集できる場合のみです。
レンタルサーバーなどでは、php.iniを編集
できない場合も多いです。
その場合は、session.use_only_cookiesの値を
取得して、それが0なら1にする、と
自分でPHPスクリプトの先頭に書くのでしょうか?
でもそれで間に合うのでしょうか?
524:nobodyさん
09/05/25 00:24:05
URLリンク(phpc2.seesaa.net)
例えばこのページだと、
ini_set( 'session.referer_check', "example.com" );
ini_set( 'session.use_trans_sid', 0 );
ini_set( 'url_rewrite.tags', "" );
ini_set( 'session.use_only_cookies', 1 );
ini_set( 'session.use_cookies', 1 );
ini_set( 'display_errors', 0 );
こんくらい書いてます。
セキュリティをカンペキにするには、
全部でどれだけ書かないといけないのでしょうか?
525:nobodyさん
09/05/25 00:29:11
ini_setじゃなくてphp.iniで設定しとけよみたいな
526:nobodyさん
09/05/25 00:29:42
クッキーもヘッダ部に平文で流れてるだけだろ
これを安全というのならURLにセッションID含まれてても同様に安全というしかないだろ
527:nobodyさん
09/05/25 01:19:22
URLはそれをブックマークしたり知らずに晒したりできるからまた違うんじゃないの
528:nobodyさん
09/05/25 01:39:29
セッション要るようなエリアはhttpsにしとけばいいだけの話
529:nobodyさん
09/05/25 02:09:17
いやブックマークとかURL流出はHTTPSだからとかいう問題じゃないだろ
530:nobodyさん
09/05/25 02:14:14
セキュリティの話をすると
ついてこれないヤツが必ずいるよね
高卒なのかな?
531:nobodyさん
09/05/25 02:15:06
「外出するときは、必ずドアにカギをかけましょうね」
.
「そんな、カギなんてプロの泥棒が本気だせば5分で開くんだよ
だからいちいちかける意味ないよ」
532:nobodyさん
09/05/25 02:18:16
httpsにしなくていいって話じゃなくてhttpsにするだけじゃ不十分って話だろ
533:nobodyさん
09/05/25 02:33:17
<a タグや、<imgタグのsrcにjavascripの
コードを直接書かれると、そのまま実行されてしまいます。
なので、javascriptをサニタイズする必要があるのですが、
ググって出てきたページに
URLリンク(php-web.net)
a、imgタグでは、<a href="javascript:...といった記述でj
avascriptが実行できます。このため、URL等は javasc
ript挿入対策として、「javascriptで始まる文字列をサニ
タイズする」作業が必要になります。
if (substr($_POST['url'],0,10) == "javascript:") {
die("Illegal URL!\n");
}
----------------------------------------------------
と書いてあるのですが、このコードでサニタイズできますか?
正規表現は使わなくてもいいの?
こういうとき、perlerだったら、100%の確率で
正規表現を駆使した渾身の一作を出してくるはずなんですけど。
534:nobodyさん
09/05/25 02:51:01
htmlspecialcharsでいいだろ
535:nobodyさん
09/05/25 03:15:54
URLリンク(php.benscom.com)
ここで
「PHP 6.0.0 で削除されました。」
という記述があるが、6なんて
まだ出ていないだろう?
それとも、漏れが知らないだけで、
もう出ているのか?
536:nobodyさん
09/05/25 03:18:53
出てるよ
537:nobodyさん
09/05/25 03:23:54 aHvsLNiK
simplexmlで下記xmlのstartTimeを取得するにはどうすればいいでしょうか?
<entry>
<gd:when startTime='2009-05-28T19:00:00.000+09:00' endTime='2009-05-28T21:00:00.000+09:00'>
<gd:reminder minutes='10' method='email'/>
<gd:reminder minutes='10' method='alert'/>
</gd:when>
</entry>
538:nobodyさん
09/05/25 04:42:43
$xml = simplexml_load_file('hoge.xml');
var_dump($xml);
してみれば分かるよ
539:nobodyさん
09/05/25 23:18:15
ini_set('magic_quotes_gpc', '0');
このやり方でオフにするのって
phpのバージョンが4.2以下でないと
使えないの?
540:nobodyさん
09/05/25 23:35:00
いや? そんなことないけどなんで?
541:nobodyさん
09/05/25 23:48:05
URLリンク(xoops.ec-cube.net)
ここのページに、
>magic quotes gpcがini_setできるのはPHP4.2.3以下だったと思います
って書いてあるけど??
542:nobodyさん
09/05/25 23:49:14
URLリンク(www.webdeveloper.com)
ここのページにも、
>you can only modify magic_quotes_gpc this way in PHP versions <= 4.2.3.
って書いてあるけど???
543:nobodyさん
09/05/26 00:12:13
Manualを見ろよ。 URLリンク(jp2.php.net)
4.2.4以降 PHP_INI_PERDIR になったからini_setじゃ無理。
544:nobodyさん
09/05/26 00:17:18
>>541-543
そこまでわかってるならわざわざ聞きに来なくても・・・
545:nobodyさん
09/05/26 01:13:59
アクセスログ等から
アクセスしてきたやつの
コンピューター名抜くのって
どうやってたの?
546:nobodyさん
09/05/26 01:37:40
User Agentの話?
547:nobodyさん
09/05/26 01:58:06
ウィンドウズなら同じワークグループだったらコンピュータ名抜けそう
548:nobodyさん
09/05/26 11:21:02
特定のディレクトリ$dirの中でもっとも作成日付が新しいファイルのファイル名を取得したいのですが、
globでディレクトリ内の一覧を作ってfilectimeで作成日付を取得して・・・えーとえーと・・・と考えたものの、
「あれ?このあとどうしよう」となってしまいうまくコードにまとめることができません
良い方法はないでしょうか
PHP5
549:nobodyさん
09/05/26 11:50:15
ソート
550:nobodyさん
09/05/26 12:02:33
$last = new SplFileInfo(null);
foreach(new RecursiveDirectoryIterator('target') as $entry)
if($entry->isFile() && $entry->getCTime() > $last->getCTime())
$last = $entry;
こんなんとか。
551:548
09/05/26 18:32:03
>>550
うわ~一回で動きました
PHP5で実装された関数まだ使い慣れないんで初めて見ました
ありがとうございます
たまたまディレクトリ内の、取得したいファイル群の名前が全部日付なので、
これの応用で作成日付順じゃなくて名前の順で一番遅い(=新しい)ものを
取得できるんじゃないかと改造してるんですが私には不可能でしたw
552:nobodyさん
09/05/27 16:01:50
メールフォームから送信してるんですけど相手に届きません
ローカルサーバです
PHP.iniのどの設定を変えたらいいですか?
553:nobodyさん
09/05/27 16:40:06
ローカルアカウントには届くってんならOP25Bでググれ
554:nobodyさん
09/05/27 23:11:44
それって自分のISPの回線の
SMTPサーバー経由でないと
メールを送信できないってやつ?
555:nobodyさん
09/05/28 00:21:44
>>554
いえ、違うんです
レンタル鯖だとできたんですけど・・・
556:nobodyさん
09/05/28 00:26:24
レン鯖だとOKで自宅鯖だとNGって間違いなくポートブロックだろ
プロバイダのヘルプをサブミッションポートで検索してみ
557:nobodyさん
09/05/28 01:30:28
$filename = $month."/".$day.".csv":
$data = @file($filename);
PHP5でローカルのWindows機でテストしているのですが、上のように下位フォルダにあるファイルを開こうとすると失敗します。
ディレクトリを表す"/"の部分がWinだと\だからだと思うのですが、そもそも根本的に"/"で変数を繋ぐのが変なような気もします。
サーバー上でもローカルWin機でも動くようにできないものでしょうか。
558:nobodyさん
09/05/28 01:44:46
ごめんなさい、自己解決しましたw
$が間違って&になってましたw
切腹してきますw
559:nobodyさん
09/05/28 08:09:32
>>552
自宅ってどうせ窓でしょ?
「windows php mail」でググって味噌。
560:nobodyさん
09/06/01 20:27:02
JISの漢字コードから
3021 → 亜
のように、実際の文字を表示するには、
どのようにしたらよいのでしょうか?
よろしくお願いします。
561:nobodyさん
09/06/01 21:02:57
JISコードの場合、エスケープシーケンスで漢字であることを知らせないといけないから
echo "\x1b\$B",pack('H*', 3021);
562:560
09/06/01 21:29:46
>>561
できました!
ありがとうございます。
こういうことって、どこで覚えるんでしょうか?
563:nobodyさん
09/06/01 21:55:20
>>562
今のお前さんのような状況に陥ったときに覚える。
人に聞くか自分で調べるかの違いはあるけどな。
564:nobodyさん
09/06/07 01:18:31 q/9VwFhz
SSLを使って「login」というディレクトリをSSLのみの接続にしていますが、
loginディレクトリ内のリンクで<a href="../index.html">とするとhttpsのまま
階層が1つ下がるだけとなります
これをhttpにする関数はあるのでしょうか?
565:名無し募集中。。。
09/06/07 01:42:48 kkylNn0/
ない
566:nobodyさん
09/06/07 01:53:33
PHPって同じことやるのにも複数の似通った関数があるイメージがあるんだが、
コレとアレならこっち使うのがイイ!
みたいなベストプラクティスとかある?
567:nobodyさん
09/06/07 02:08:23
あるよ
568:nobodyさん
09/06/07 02:15:41
>>566
よくあるのが
is_nullを使わないで、 $hoge === null で評価したほうが早いとか
正規表現で評価できるsplitを使うより単純に「,」とかできりたいならexplodeを使ったほうが早いとか
569:nobodyさん
09/06/07 02:35:59
おれが作るから半年待て
570:nobodyさん
09/06/07 10:51:54
バッファの意味がわかりません><
どなたか親切な方^^いないでしょうけど教えてくdさい!
571:nobodyさん
09/06/07 11:08:03
ゴミを一粒ずつひろってゴミ箱に捨てるより、ちりとりで集めてゴミ箱に捨てるほうが効率いいの解かるならOK
572:nobodyさん
09/06/07 11:50:14
すいません。記載するスレを間違えてしまいました。
初心者ながら自作サイトを作成しているのですが、なぜか作成したページが
「疑わしいWebページを遮断しました」とノートンが反応するようになりました。
ソースが長いので記載はできないのですが、内容はmailtoで送信するための
名前やメアドを入力した後の「以下の内容で間違いないですか?」みたいな
画面です。値はメアド入力画面から$_POSTで受けとってます。
遮断される可能性としてはどのようなものがありますでしょうか?
すいませんがアドバイスを御願いします。
573:nobodyさん
09/06/07 11:53:14
ノートンよく知らないけど遮断した理由書いてあるログとかないの?
574:572
09/06/07 12:01:37
>>573
ノートンのセキュリティ履歴をみると
「疑わしいサイトとしてシマンテックに提出しました」としか記載がなく
なぜ疑われているのかがわからない状態です。
575:nobodyさん
09/06/07 13:06:34
ソース見ないで答えるのは情報処理の試験でも出題されないくらいの難易度の高さ
ノートンの判断はノートン作った人にしかわからん
つまり、「疑わしいWebページを遮断しました」でぐぐって似たケースを見るのがいいかと
576:nobodyさん
09/06/07 13:25:53
最終的に吐き出したものをHTMLに保存してそれを表示させて
疑わしいものを削っていけばわかるかもよ
577:572
09/06/07 15:11:25
>>575 >>576
すいません。ソース長くてどこを見せればいいかわからない状態です。
ソース削りながら色々試してみます。
ありがとうございました。
578:nobodyさん
09/06/10 11:22:45
変数に格納された数字を、正の数なら+を、負の数なら-を頭に付けて表示したいのですが、
それに便利な関数はないでしょうか
PHP4
579:nobodyさん
09/06/10 11:30:01
そんくらいなら自作してやれば
580:nobodyさん
09/06/10 11:31:18
宿題か?
581:578
09/06/10 11:56:17
自作しますた
30秒で終わりますた
15分ぐぐって損しますた
582:nobodyさん
09/06/10 11:59:44
>>581
You!ここに載せちゃいなよ!
583:nobodyさん
09/06/11 10:23:35
んなもんifで数値比較するだけだろw
584:nobodyさん
09/06/11 13:32:40
$str = $val > 0 ? '+' . $val : '-' . $val ;
あ、0のときはしらん。
585:nobodyさん
09/06/11 14:09:33
-1を--1にする気か?
586:nobodyさん
09/06/11 14:10:28
みんな printf 嫌いなの?
587:nobodyさん
09/06/13 16:08:22
あえてセッション使わずにglobal変数使いまくって
入力画面←→確認画面→送信
と行ったり戻ったりするフォーム作るって変?
遷移するたびに文字のエスケープやらなんやらで埋もれるんで明らかにいけてないなと
588:nobodyさん
09/06/13 16:18:56
global変数でどうやってリクエスト跨いでデータ受け渡しすんの?
589:nobodyさん
09/06/13 18:08:42
hiddenかsession以外でそれやる奴バカだろ
590:nobodyさん
09/06/13 18:21:00
>>587
>あえてセッション使わずに
の時点で変だけど、そうしたい理由は何さ?
591:587
09/06/14 21:34:45
>>588
フォームに入力→POST→確認画面→戻るリクエスト→hidden大量で入力画面にバックして反映
この間globalでユーザー関数またぎまくり
>>589
戻ると次へと送信でhiddenとそのエスケープ処理が100コくらいある
>>590
クッキー使えないのと、心理的にURLに埋め込みたくないのと、
ブラウザのバックボタンで期限切れだしたくない(じいちゃん連中向けなんでヤツらはパニクる)のでどうしていいやら
最後のはセッション関係なかったっけ
機能的にはできあがってきちんと動いてるんだが超気持ち悪い
やり方あったら教えてプリーズ
592:nobodyさん
09/06/14 21:54:41
>>591
>ブラウザのバックボタンで期限切れだしたくない
youメニュー隠しチャイナyo
っていうか心理面を克服してでもセッション使ったほうが楽だと思うんだがなぁ。
593:nobodyさん
09/06/14 21:56:49
セッションキーをhiddenで渡せばいいだけの話だろ常考
594:nobodyさん
09/06/14 22:00:08
>>593
そんなことできたのか
しらんかった
595:nobodyさん
09/06/14 22:11:51
まぁ実際はただのリクエストだからなw
596:nobodyさん
09/06/15 20:18:19
正規表現についてお尋ねします。
あるフォームに入力された全角文字を半角文字にして他のフォームに代入するといった事をやっていますが、
全角→半角にするのはmb_convert_kanaでやるとして問題は半角に出来ない文字(例えば漢字など)を取り除いて
代入したいのです。要は半角に変換した後の文字列から全角文字だけを取り除いて半角文字列だけにしたいのです。
例:HOGE安弘MOGE → HOGEMOGE
こういう事は正規表現で可能でしょうか?
597:nobodyさん
09/06/15 20:32:09
>>596
preg_match_allで欲しい部分を抜いてきて、implodeでくっつけるってのは?
preg_match_all('/([A-Z])/', $str, $match);
$newStr = implode('', $match);
パターンは自分の条件に読み替えてくれ
598:nobodyさん
09/06/15 21:11:06
PDOを使ったスクリプト配布してるとこ教えてください
599:nobodyさん
09/06/16 13:07:05
どなたか~~
600:nobodyさん
09/06/16 13:22:26
スレ違い
601:nobodyさん
09/06/16 17:27:04
ですか。失礼しました
でっこれはこのスレとマッチすると思うんですけど
海外からのフリースクリプトダウンロードしてもPDOをほとんど使って無いんですよ
なぜですか?
602:nobodyさん
09/06/16 18:15:13
Manualのサンプルじゃ足りないの?
さておき、質問の答えは「今のところわざわざPDOを使う理由が無いから」じゃないかなぁ。
603:nobodyさん
09/06/16 22:33:48
>>601
ソース見たフリースクリプトってどれ?
604:nobodyさん
09/06/16 23:00:21
えと、見すぎであまり覚えてないのですが・・・
ほとんどhotscriptからです
605:nobodyさん
09/06/17 01:01:12
適当に挙げてみてもらえると参考になるんだけど。
合計では約いくつ?
606:nobodyさん
09/06/17 10:46:14
まあ作られた時期も見てみ
607:nobodyさん
09/06/18 23:33:25
たった今澪抱き枕\7,300*4ポチったwww
今日の最終回泣くかもしんね俺www
608:nobodyさん
09/06/18 23:34:17
うわああああああああああああああああああああああああああああ
誤爆したああああああああああああああああああああああああああ
俺死ぬマジ死ぬw
609:nobodyさん
09/06/18 23:39:01
wwwwwwwwwwwwww
610:nobodyさん
09/06/18 23:43:23
kimoi
611:nobodyさん
09/06/19 01:47:29
早速ニコ動にうpかよw
保存すますたw
612:nobodyさん
09/06/19 01:48:10
ごむぇん・・・誤爆・・・
613:nobodyさん
09/07/01 11:28:04
WordPress の質問ってここで聞いてもいいんでしょうか。
arras theme というテーマを使っているのですが
そのテーマにはトップページに記事のサムネイルを表示する
javascript のスライドショーがあります。
それを他のページ(たとえば普通のページなど)にも
設置することはできるでしょうか。
home.php のそれっぽい場所をコピーして single.php に貼り付ければ
出来なくもなさそうなんですが、複雑でわかりにくいのと
そもそもそういう設定ができるかもしれないので質問しました。
環境はwordpress のバージョンは2.8 arras theme は最新のものを使っていて
自分は php と javascript であれば編集できます。よろしくお願いします。
614:nobodyさん
09/07/02 11:12:33
foo($array, 'a') なら $array['a'] を返し
foo($array, 'a', 'b') なら $array['a']['b'] を返すには
function foo() {
// ???
}
をどうしたらいいでしょうか。
func_num_args() を使って再帰で、
なんて思ったのだけど、考えがまとまらなくて。
615:nobodyさん
09/07/02 14:46:54
なんのためにそんな関数を
$var = foo($array, 'a');
なら
$var = $array['a'];
でいいじゃん
616:nobodyさん
09/07/02 15:38:49
foo($array, $bar, $baz) と書くんだったら $array[$bar][$baz] でいいよね。
foo($array, array('a', 'b')) を $array['a']['b'] にするんだったら
foo($array, $arr_keys) みたいに渡したいのかなとも思うんだけど。
617:614
09/07/02 15:41:46
>>615-616
E_ALL 環境で isset() が面倒なんので、
foo 内で isset して値を返したり、
値があるか判定するのを作ろうと思って。
618:nobodyさん
09/07/02 16:47:20
>>617
foo:セットされてないときfalse,セットされているときはその配列の内容が返る
$arr["a"]["b"]["c"] = "hoge-c";
$arr["a"]["b"]["d"] = "hoge-d";
$arr["a"]["b"]["e"] = "hoge-e";
var_dump(foo($arr,"a", "b")); // result array
var_dump(foo($arr,"a", "b","c")); // resurt string
var_dump(foo($arr,"a", "c")); // resutl false
var_dump(foo($arr,"b")); // result false
function foo() {
$cnt = func_num_args();
$var = func_get_args();
$arr = $var[0];
for ($i=1; $i<$cnt; $i++) {
if (!isset($arr[$var[$i]])) return false;
$arr = $arr[$var[$i]];
}
return $arr;
}
619:614
09/07/02 16:55:15
>>618
最高です。。。
ありがとうございます!
620:nobodyさん
09/07/02 21:49:43
せっかく5.3から省略三項演算子が使えるようになったというのに
621:nobodyさん
09/07/03 06:14:31
echo "<input type=hidden name=※>";
のような、出力するHTMLタグ内の※の部分に変数を置きたいのですが、
今までname=".$aaa.">のように". ."の間に変数名を入れて繋いでいたところ、
たまたま違う人がname={$aaa}>と{ }で囲っているのを見つけました。
変数の中身を{ }で参照できるのは納得できたのですが、
". ."で囲う場合、変数ではなくname=".session_name()."のようにできるところを
{ }で囲う場合はどうすればよいでしょうか。
PHP5
622:nobodyさん
09/07/03 06:15:55
{}で参照なんかできないよ
623:nobodyさん
09/07/03 06:21:26
とするとタグの途中に変数とか関数の戻りを表示したいときどうつなげるのが普通なんでしょう
". ."は超自己流なんで定番が知りたく。
624:nobodyさん
09/07/03 06:23:18
マニュアルか他のアプリのコードでも見てみれば?
625:nobodyさん
09/07/03 06:31:04
いくつかの他アプリで{ }と・・・・
626:nobodyさん
09/07/03 06:36:58
じゃそうすればいいんじゃね?
627:nobodyさん
09/07/03 06:39:26
すみませんでした
もうちょい詳しい人に聞いてみます
628:nobodyさん
09/07/03 06:40:56
死ね低脳w
629:nobodyさん
09/07/03 06:45:36
echo '<input type="hidden" name="',session_name(),'>';
630:nobodyさん
09/07/03 08:57:30
>>621-622
まあできるかできないかで言えばできる
631:nobodyさん
09/07/03 10:55:19
PHP は { } で関数と定数が埋め込めないのがダサい
632:nobodyさん
09/07/03 11:43:51
そんなものにまで対応させてたら文字列リテラルをパースするのにもっと時間がかかってしまう
633:nobodyさん
09/07/03 11:50:14
だいいち{}で変数が埋め込めてるわけじゃないし。
埋め込めてるのはダブルクオーテーションの機能だろ
{}は区切り文字なだけ
634:nobodyさん
09/07/03 12:48:46
>>632
" や ' 以外の括り文字でもあればいいのかもね。
それとは別に Perl や Ruby の q| | とかもほしいなぁ。
635:nobodyさん
09/07/03 23:23:32
613ですが自己解決しました。
プラグインで smoothview というのがあったので
そのインターフェースを改造しました。
636:nobodyさん
09/07/04 07:55:20
もしかしてsmartyなんじゃないの?
smartyって{}を多用するよね。
637:nobodyさん
09/07/05 21:23:19
powerd by *****
と表示しなくてもいいCMSはありませんか?
638:nobodyさん
09/07/08 11:36:42
すいません、こちらで質問していいのかどうかわからないんですが
レンタルサーバの設定では、PHPを「FastCGI アプリケーションモード」で動かしているらしいのですが
結構頻繁に「The FastCGI process exceeded configured activity timeout」ってエラーが出ます。
サーバ会社に聞くと、「FastCGIに対応したコードを記述してないからです」と言われたのですが、
当方、参考書を見ながら作成しているのですが、どこにもFastCGIについて書かれておらず
どこかにその対応コードなどが記載されているような参考にできるサイトを知っている方はいらっしゃらないでしょうか?
639:nobodyさん
09/07/08 11:48:42
>>638
_______ __
// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
_____ _____ ______ _______
| ウェブ | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
._________________
|FastCGI PHP │・検索オプション
└────────┘・表示設定
| Google検索 | I'm Feeling Lucky | ・言語ツール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索 ◎日本語のページを検索
640:nobodyさん
09/07/08 11:52:55
たんに処理時間が長くてタイムアウトしているんじゃないかなぁ
641:nobodyさん
09/07/08 11:59:11
>>638
すいません、すでにいろいろとぐぐってはいるんですが
サーバ側でFastCGIを導入する方法ばかり記載されており、PHPでサイトを作る際の注意点などが記載されているものがなく
困っております。
そこで、そのような記載があるサイトがないかお尋ねしたのですが、やはり難しいのでしょうか。
642:nobodyさん
09/07/08 12:01:18
ActivityTimeout=300
643:nobodyさん
09/07/08 12:11:40
>>642
ありがとうございます。
タイムアウトの設定を変える内容のようですが、そちらはPHPファイルのどの当たりに記載すればよろしいのでしょうか?
そのコードがレンタルサーバ会社の言う、こちらが記載すべき「FastCGIに対応したコード」というものなのでしょうか。
なんどもお聞きしてしまって申し訳ありません
644:nobodyさん
09/07/08 12:37:53
FCGIext.iniだよ
645:nobodyさん
09/07/08 12:55:07
>>644
ありがとうございます。
調べたところ、レンタルサーバの管理上FCGIext.iniの編集はこちらではできないようになっているようです
わからないことばかりなので、もうすこしぐぐったりして基礎知識から勉強をしなおそうと思っています
ご助言をしていただいた方々、ありがとうございました
646:nobodyさん
09/07/08 14:16:07
PHPを始めたばかりでどうしてもよくわからない点があります。
考え方といいますか、流れを教えてください。
XHTMLとCSSで縦2分割サイトを考えており、左に配置したドロップダウンリストから選択、
右側に内容表示というよくあるパターンです。内容はMySQLから取り出す予定です。
ここでわからないのが、内容の表示位置の指定です。
MySQLのデータとCSSタグを一緒に出力すればよいのでしょうか?
根本的な勘違いをしているような気がしてならないのですが、どこが勘違いなのかも
よくわからないです。
647:nobodyさん
09/07/08 14:34:54
MySQLのデータとHTMLタグを一緒に出力して
CSSでその位置を指定すればいいのでは
648:nobodyさん
09/07/09 12:14:47
prototype.jsのAjax.Updaterを使えば簡単なんじゃないか。
推奨はしないけど。
649:nobodyさん
09/07/09 13:19:44
>>647
ありがとう。
その方法だとうまくいかないのです。
サイト全体が置き換わってしまうので、結局すべてのHTMLにメニューをつけないと
ダメっぽいです。
>>648
ありがとう。
いまググってみました。
たしかにやりたいことと合致します。
ただ、これから言語をマスターするので、より簡単といわれているPHPを覚えたい
という気持ちがあります。JSと両方覚えれば済む話ではあるのですが、オレには
キャパがないです。たぶん。
650:nobodyさん
09/07/09 14:26:18
>>649
iframeって手もあるな。
651:nobodyさん
09/07/09 17:26:11
phpを使うならJavascriptはある意味必須だよ。
連携しないと実現出来ない事も多々あるし。
652:nobodyさん
09/07/09 18:41:50
>>650
ありがとう。
iframe
653:nobodyさん
09/07/09 18:48:35
すまんそん。
>>650
ありがとう。
iframeは考えたんですけど、XHTML1.1で非サポートになり、策定中のHTML5.0でも
廃止になるということで、使わない方向を考えてました。
>>651
ありがとう。
JavaScriptも必須ですか。
まったくの初心者なので、PHPの公式マニュアルを読むだけで苦労してます。
654:nobodyさん
09/07/09 21:36:35
iframeなくなるの?
655:age
09/07/09 22:48:26 DwSsHHgt
ファイルをアップロードしmove_uploaded_fileをした時点で
強制的にサーバとPCとのコネクションを切断する事は可能ですか?
656:nobodyさん
09/07/10 02:40:08
>>655
exit か die で終了させちゃえばいいんじゃないの。
657:nobodyさん
09/07/10 12:50:37
>>654
iframeは、XHTML1.1ではすでに無いです。
W3Cの勧告でもHTML5.0で無くす方向で進めているようです。
658:ユキ
09/07/12 04:36:26 au+P+rHJ
初めまして。
PHPど素人です。
インターネットで調べながらPHPの問題に取り組んでいますが、
2週間以上掛けても全く分かりません。
どのように書くのか教えていただけないでしょうか。
『EmEditor Free Version 6.00.4』とザンプを使っています。
問題は以下のとおりです。
『数値1~9があります。全て4桁です。
9つの数字の中の最大値と最小値を出力しなさい。
負の数と5桁以上の数値が入力された場合エラーと出力する。
さらに数値1~9のどの数値が最大値、最小値か出力しなさい。』
ループとfunctionを使うそうなんですが、どう使えばいいのか分からず、
ゼロの状態です。
皆様、お忙しいと思いますが、助けていただきたいです。
お願い致します。
659:nobodyさん
09/07/12 05:09:19
宿題は自分で
660:nobodyさん
09/07/12 08:09:56
>>658
数値1を入力する
数値2を入力する
数値3を入力する
数値4を入力する
数値5を入力する
数値6を入力する
数値7を入力する
数値8を入力する
数値9を入力する
↓
数値1に入れられた数値を、$aに入れる
、、、、
数値9に入れられた数値を、$iに入れる
661:nobodyさん
09/07/12 08:11:34
$aが4桁か調べる。
もし5桁以上なら、エラーを吐いて死ぬ。
4桁なら、こんどは、$aが負の数かどうかを調べる。
0以上なら、おk。
もし負の数なら、エラーを吐いて死ぬ。
$aのチェックが終わったら、$b、そして
、、、、$i。
662:nobodyさん
09/07/12 08:14:51
次に、$a~$iを配列に入れる。
そんで、その中の最大値を調べる(専用関数あり)
そして、こんどはその配列の、最小値を調べる(専用関数あり)
そんで、最大値のvalueに一致するkeyを調べて、
「この数値○が最大でした」って表示
次に、最小値がでたところのvalueのkeyを調べて、
「この数値のときに最小でした」って表示。
以上。あとは上記の仕様書をプログラマーに食わせれば
ソースコードを吐く。
663:nobodyさん
09/07/12 08:24:10
>>660-662
それだと「さらに数値1~9のどの数値が最大値、最小値か出力しなさい」
の設問には答えられないので、もう一工夫が必要。
664:nobodyさん
09/07/12 08:51:58
preg_matchでチェックとセットが同時にできる
665:ユキ
09/07/12 14:48:56 tG558Uf0
>>660-664
ご親切にありがとうございます!!!!!
おかげさまで$aの桁を調べるまで出来ました!
書いていただいた内容をヒントにもう少し自分で頑張ってみます!
666:ユキ
09/07/12 22:27:20 tG558Uf0
以下のように書いてみましたが、
これからどのようにfunctionとループを使えばいいのかどうしても分かりません。
解答、あるいはヒントを頂けないでしょうか?
度々すみません。
if($a > 9999 or $a < 0){
echo "<div>エラー</div>";
} else { echo "<div>$a</div>";
}
if($b > 9999 or $b < 0){
echo "<div>エラー</div>";
} else { echo "<div>$b</div>";
}
if($c > 9999 or $c < 0){
echo "<div>エラー</div>";
} else { echo "<div>$c</div>";
}
if($d > 9999 or $d < 0){
echo "<div>エラー</div>";
} else { echo "<div>$d</div>";
}
if($e > 9999 or $e < 0){
echo "<div>エラー</div>";
} else { echo "<div>$e</div>";
}
667:ユキ
09/07/12 22:28:07 tG558Uf0
if($f > 9999 or $f < 0){
echo "<div>エラー</div>";
} else { echo "<div>$f</div>";
}
if($g > 9999 or $g < 0){
echo "<div>エラー</div>";
} else { echo "<div>$g</div>";
}
if($h > 9999 or $h < 0){
echo "<div>エラー</div>";
} else { echo "<div>$h</div>";
}
if($i > 9999 or $i < 0){
echo "<div>エラー</div>";
} else { echo "<div>$i</div>";
}
$x = array( $a , $b , $c , $d , $e , $f , $g , $h ,$i );
echo " 最大値: " .max($x). "<br />\n";
echo " 最小値: " .min($x). "<br />\n";
668:nobodyさん
09/07/12 23:06:46
人力ループしてから配列に叩き込むセンスに感心しすぎて何も言えない
669:nobodyさん
09/07/13 02:32:15
すげぇ。授業はこれまで全部受けてるの?
受けてたとしたらこの段階でこんな問題出した教師が悪い
670:nobodyさん
09/07/13 11:10:34
>>666
function は 一部の値だけを変えて同じ処理が続く場合に使います。
>>666-667を良く見てみると、同じ記述が見つかりますね。
まずは、共通化できる処理をfunction化してみましょう。
ループ(for while fareach)は、
一部の値を変化させながら同じ処理を繰り返すときに使います。
同じような命令が繰り返している箇所をループ化してみましょう。
671:nobodyさん
09/07/13 18:25:41
ローカル環境でテストするときに
実際のフルパスを書き換えないでテストできる
フリーの開発ツールを前に何かで見つけたのですが
ご存じないでしょうか?
672:nobodyさん
09/07/13 18:29:50
PEAR使うとエラーが出まくるんだけど、これって
どうすればいいの?
673:nobodyさん
09/07/13 19:15:29
>>671
パスは設定ファイルに入れておけばいいじゃない。
完全一致を期待してるとカスタマイズとかのときにも
パスの全チェックをしなきゃいけなくなるから面倒だよ。
または、Windows/OSXにもそれぞれ仮想環境ツール
が出ているから、仮想環境ツールに、お目当てのOS
を入れて、Explorer/Finderからコードを更新できるよう、
Sambaあたりを入れて動かしておけばいいかと。
674:nobodyさん
09/07/13 19:16:10
>>672
PEARのインストールができているかまずチェック。
675:nobodyさん
09/07/13 21:11:07
>>673
php.iniで簡単に出来ました。
ただすべてのページにbase hrefを入れているので階層めぐりは無理でしたorz
どこかにコールバック関数と連携させてうまく開発出来る海外のツールがあったと思うんだけどなぁ。。
もう一度探してみます。ありがとうございました。
676:nobodyさん
09/07/15 03:07:14
[環境] WinXP(XAMP) + PHP5
[質問] メンバ関数をメンバ変数の連想配列にぶち込みたい。
※2が通るような使い方をしたいのですが、やりかたをご教授いただけませんでしょうか、、、。
----------------------------
※1 OK
function HogeFunc {
echo "Called HogeFunc1";
}
class HogeClass1{
public function Action() {
foreaech( $m_Array as $key => $value ) {
$value();
}
}
$m_Array = array( "HOGE_TAG", "HogeFunc1" ); //! 呼び出しOK
};
----------------------------
※2 こいつはNG
class HogeClass2 {
public function Action() {
foreaech( $m_Array as $key => $value ) {
$value();
}
}
public static function HogeFunc2 {
echo "Called HogeFunc2";
}
$m_Array = array( "HOGE_TAG", "HogeClass2::HogeFunc2" ); //! 呼び出すとエラー
}
※※エラー内容※※
Fatal error: Call to undefined function HogeClass2::HogeFunc2() in ....省略
----------------------------
677:nobodyさん
09/07/15 03:15:04
下の奴パースエラーにならないか?
678:nobodyさん
09/07/15 03:16:29
上もだった。
色々ひどい。HOGE_TAG関数もないし
679:nobodyさん
09/07/15 05:17:03
Reflection API
680:nobodyさん
09/07/15 10:01:02
>>674
そういう問題じゃなくて。
PEARの書き方が古すぎて、
noticeが出まくるってこと。
681:nobodyさん
09/07/15 15:59:14
エラー表示の制御は基本中の基本だぞ
682:nobodyさん
09/07/16 17:37:24
PHPを勉強しようと思ってPHPをDLするのにサイトに行ったけど
全く繋がらないんだが俺だけかな?
683:nobodyさん
09/07/16 18:39:37
www.php.netやphp.netじゃつながらなかったが
jp.php.net jp2.php.netとかはつながった
684:nobodyさん
09/07/16 19:15:41
>>683
ホントだ! これでDLして勉強できる・・・
ありがとうございます
685:質問です
09/07/22 01:15:02
xhtml構造で
他ページにおいてるphpを読み込むには
どうしたらいいですか?
いまはとりあえず、インラインとかobjectタグで
呼び出しています
ほかに良い方法があればお教えください
686:nobodyさん
09/07/22 04:17:36
>>685
軽くエスパーして
つ require
687:nobodyさん
09/07/22 16:32:04
すいません。超初心者ですが、配列と変数について困っています。
$ar = array(1,2); とすると
Array ( [0] => 1 [1] => 2 ) と表示されるのですが、
$date = "1,2";
$ar = array($date); とすると
Array ( [0] => 1,2 ) と表示されてしまいます。
$dateにはテキストボックスから自分で数字とコンマを入力して代入するようになっているのですが、
これらを配列として扱うようにするには、どのように記述すればよいのでしょうか。
申し訳ありませんがよろしくお願いします。
688:nobodyさん
09/07/22 17:05:38
$date = explode(",",1,2);
while ($i == 0){
$date1 = mt_rand(0,1000);
$date2 = mt_rand(0,1000);
if ($date1 == $date[0]){
if ($date2 == $date[1]){
break;
}
}
}
$ar = array($date1,$date2);
689:687
09/07/22 17:05:52
すいません、自己解決しました。
$ar = array($date); を
$ar = explode(",", $date); とすることでうまく動きました。
お手を煩わせて申し訳ありませんでした。
690:687
09/07/22 17:07:43
>>688さん
ありがとうございました。
691:nobodyさん
09/07/23 00:45:19
685です
>>686トンです
require_onceとhtaccessやっても無理でした
再度トライ中
692:nobodyさん
09/07/23 15:34:36
$this->name = "名前";
$this->mail = "メアド";
$this->tel = "電話";
などとあった場合、$thisの配列の中身を全部一括出力したい場合どうすればよいでしょうか
693:nobodyさん
09/07/23 15:39:20
var_dump($this);
ちなみに配列じゃないけどね
694:nobodyさん
09/07/23 16:15:48
>>693
おおーこれ便利ですねー
ググって類似のprint_rも覚えました
ありがとうございました
695:nobodyさん
09/07/23 16:51:40
セッションを使ったフォームで、入力してもらったフォーム内容を確認画面に飛ばした後、
入力画面に戻って修正箇所を再入力、というような普通のフォームを作っているのですが、
修正入力のときにフォームのリセットボタンが動作しません(全消去ではなくセッションで渡された内容に戻ってしまう)
スクリプトの挙動としては作った通りなので当然なんですが、機能としてどうも違うような気がします
何か解決方法はないでしょうか
696:nobodyさん
09/07/23 17:44:36
リセットはJSでやりゃあいいじゃん
697:nobodyさん
09/07/23 17:57:10
UI としてリセット機能は不要なことが多いけど
698:695
09/07/23 18:08:13
なるほど、どっちもアリだと思うので両方検討してみます
699:nobodyさん
09/07/23 22:50:23
Apache入れないでphp.exe -lって出来る方法ってありますか?
Apacheを入れたPCでは現在使えています。
700:nobodyさん
09/07/23 23:04:04
CLI版ならできるんじゃ?
701:nobodyさん
09/07/23 23:49:44
win zip版を落としてきて
パスphp.exe -l "%1"
これでダメなのです。
Apacheを入れてるときは動いてたのですが
702:nobodyさん
09/07/24 10:45:01
エラー文言を出さないのは釣りということ。スルーで。
703:nobodyさん
09/07/24 18:48:34
$_SESSION["input"] = $_POST;
としてフォームからPOSTされた中身を一括して$_SESSION["input"]に放り込んでるんですが、
さらにそれを一括してhtmlspecialcharsする方法はないでしょうか
現状べた書きでずらずらっと書いてるんですがどうも美しくなく・・・
PHP5
704:nobodyさん
09/07/24 18:57:24
最後$_SESSION["input"]にhtmlspecialcharsをすればいいんじゃないの?
705:nobodyさん
09/07/24 19:15:54
function h($data) {
if (is_array($data)) {
return array_map('h', $data);
}
else {
return htmlspecialchars($data, ENT_QUOTES);
}
}
706:nobodyさん
09/07/24 19:49:53
POSTとかSESSIONじゃなくて出力用データにまとめてかけなさいよ
707:nobodyさん
09/07/24 20:12:12
>>705
ありがとうございます
勉強がてら意味を追いながら似たような関数も合わせて調べてるんですが、
addslashes($data);
とするとフォームに"が入力されたとき\\\"と\が3つ増える怪現象にはまって脱線中ですw
ググろうにも\がGoogleにエスケープされるというw
>>706
本当にやりたいのはそれなんですが、出力用データがHTMLを含んでるので表示がおかしくなってしまうんです
708:nobodyさん
09/07/24 20:16:44
>>707
magic_quote
709:nobodyさん
09/07/24 20:20:38
>>707下
普通はHTMLに出力用データを埋め込んで表示
710:nobodyさん
09/07/25 03:07:01
>>705と>>708をベースに、htmlspecialchars後の&まで&に置き換わってしまう謎を無理矢理解決して最終的にこうなりました
function h($data){
if(is_array($data)){
return array_map('h', $data);
}else{
return stripslashes(preg_replace("/&/i", "&", htmlspecialchars($data ,ENT_QUOTES, "SJIS")));
}
}
呼び出し箇所
if(get_magic_quotes_gpc()){ $_SESSION["input"] = h($_SESSION["input"]); }
動いてはいるものの正直自信全くナシですw
>>709
こっちもできるようになりたくて試行錯誤3時間
今日はできませんでしたorz
明日また粘ります
出力したいデータを詰め込んだ変数の中身はこんなかんじです
$output = "
<table><tr>
<td>名前</td>
<td><input type=\"text\" name=\"name\" value=\"".$_SESSION["input"]["name"]."\" /></td>
</tr></table>
";
711:nobodyさん
09/07/25 03:08:44
あ、書き込んだら勝手に記号置き換えられてました
>>710の「&まで&に」は「&まで&amp;に」です
712:nobodyさん
09/07/25 06:09:00
>>710下
<?php
/* ~前処理~ */
$data['name'] = htmlspecialchars($_SESSION["input"]["name"]);
?>
<table><tr>
<td>名前</td>
<td><input type="text" name="name" value="<?php echo $data['name']; ?>"/></td>
</tr></table>
713:nobodyさん
09/07/25 09:38:50 njtiSjD4
&が置き換わるのは
htmlspecialcharsの仕様
714:nobodyさん
09/07/25 17:11:32
>>712
おかげさまでできました
$_SESSIONの中身を一度別の配列に放り込むのは
$_SESSIONの中身をいじるべきではないから
と解釈しましたがよいでしょうか
>>713
ググってさっそく調べました
「そういうもの」と考えるしかないみたいですね・・・
ところで、>>710で書いたfunctionなんですが、
フォームに\を記入するとstripslashesの作用で\が消えてしまうというトラブルに見舞われてます
該当部分の処理を順番に並べると下のようになるのですが
$data = htmlspecialchars($data ,ENT_QUOTES);
$data = preg_replace("/&amp;/i", "&", $data);
//*//
$data = stripslashes($data);
これだと\が消えてしまうので、上の//*//の部分に
$str = preg_replace("/\\\\/i", "\\", $str);
を入れてstripslashesをだまして強引に解決している状況です
なんか違和感があるのですがこれでよいものでしょうか
715:nobodyさん
09/07/25 17:16:16
stripslashesって何のために入れてるの?
716:nobodyさん
09/07/25 17:35:20
これをいれないと、なぜか画面遷移やリロードのたびにフォームに記入された\の数が倍々で増えるんです
717:nobodyさん
09/07/25 17:48:38
magic_quotes_gpc が効いてるだけでは
718:nobodyさん
09/07/25 17:49:57
うん。
あと野村監督じゃないけどバグに不思議のバグなしなので
「なぜかこうなる」はちゃんと原因探ったほうがいい
719:nobodyさん
09/07/25 17:58:30
>>717
なってます・・・
支障のないところまで組み上げて1度実装用のサーバーでこの部分必ずテストしてみます
とりあえず保留にして内容送信の機能先に作っちゃいますね
セッションすら閉じてない状況なのでw
720:nobodyさん
09/07/25 19:12:06 y2BFJd1A
配列をJavaScriptのオブジェクトにするプログラムを考えているのですが
どうしても配列の深さだけ処理を繰り返す必要があります。再帰的に繰り返すにはどうしたらいいのでしょうか。
この例だと配列を2階層しか整形出来ない
function makejson($array){
$return = "{\n";
foreach($array as $key => $value){
$return .= "\t".$key.":";
if(is_array($value)==true){
$return .= "{\n";
foreach($value as $key => $value_2){
$return .= "\t\t".$key.":";
$return .= "\"".$value_2."\",\n";
}
$return .= "\t},\n";
}else{
$return .= "\"".$value."\",\n";
}
}
$return .= "}";
echo $return;
exit;
}