【PHP】下らねぇ質問はここに書き込みやがれ 5at TECH
【PHP】下らねぇ質問はここに書き込みやがれ 5 - 暇つぶし2ch524:デフォルトの名無しさん
16/06/05 23:21:32.87 Tkwljjf2.net
>>523
wordpress は置いといて、取りあえずチャットを作ってみたら。
定期的にリロードする式のチャットなら簡単だし、サンプルになりそうなのは探せばすぐ見つかるんじゃね。

525:デフォルトの名無しさん
16/06/06 00:49:55.95 KjVn6FKA.net
>>516>>518
まじかよおまえら

526:デフォルトの名無しさん
16/06/06 00:53:43.37 O157QY9D.net
>>518
クソコードに認定します。

527:デフォルトの名無しさん
16/06/06 01:05:50.44 mm33J6PT.net
代替案を出さずに煽るだけ
口だけオッサン

528:デフォルトの名無しさん
16/06/06 01:21:12.75 BBAYr+Aj.net
>>525>>526 で意見が割れてるから、この二人が話し合えばいいように思う

529:デフォルトの名無しさん
16/06/06 04:46:49.75 J1e3bhcQ.net
>>527
あのコード見てもこんな事言ってるというだけで、
如何にこのアゲバカが何も知らない低能かという事がハッキリしたな。

530:デフォルトの名無しさん
16/06/06 07:47:24.77 OUgENTLv.net
>>527
ほんそれ

531:デフォルトの名無しさん
16/06/06 07:59:47.71 z3VswDq0.net
>>524
ありがとうございます
とりあえずは簡単でも動くプログラムを目指してみます
サーバーとクライアントのチャットならイメージが湧くんですけど、phpでやるとなるとサーバー側のプログラムだけで実現するんですよね・・
リロードするということはデータベースにログを格納して参照するという認識で合ってい
ますか?

532:デフォルトの名無しさん
16/06/06 08:33:02.73 xfsRheZo.net
>>531
データベースに手を出す前に、まずはプレーンなファイルにログを保存する方が簡単。
直近の100行くらいをそのままテキストファイルに保存しておくとか。
掲示板と変わらないよ。
名前とか色とか時刻みたいなパラメータを個別にフィールド化したいなら行を適当に書式化する必要があるけどね。
例えばこんな感じ。
2016/06/05 23:10:01<タブ>system<タブ>000000<タブ>たろうさんが入室しました<改行>
2016/06/05 23:10:01<タブ>たろう<タブ>FF0000<タブ>こんばんは<改行>
2016/06/05 23:10:06<タブ>じろう<タブ>00FF00<タブ>やあ<改行>
このファイルを file_get_contents するとファイルの中身全部がひとつの文字列として取得できる。
これを<改行>(¥n)で explode すれば行ごとの配列になる。
各行を<タブ>(¥t)で explode すればフィールド毎の配列になる。
新しい書き込みは行ごとの配列に追記し、必要な件数になるように array_splice なんかで調整する。
それを join なんかで配列を文字列化してファイルに保存する。
入力値にタブや改行が含まれている場合はスペースに置換する対策をするとして preg_replace なんかを使う。
ログファイルの読み書きを排他するためには flock を使う。
flock はログファイルそのものに対してやるんじゃなく、別のロックファイルを使うのを勧める。
flock でのロックなら使い終わったロックファイルは消さずに放置していい。

533:デフォルトの名無しさん
16/06/06 10:29:24.73 z3VswDq0.net
>>532
具体的なアドバイスありがとうございます
ファイルの読み書きでも実現できるんですね・・
すごく丁寧に手順を教えて頂けたのでその方法でやってみようと思います
排他制御など考えることも多そうですが、だいぶイメージが湧きました

534:デフォルトの名無しさん
16/06/06 10:53:52.96 gg/xefDK.net
>>531
>データベースにログを格納して参照する
それであってる。リロードに関してはAjaxとか使えばいい。
ファイルもいいが、データベースの方が応用利くのでおすすめだぞ。

535:デフォルトの名無しさん
16/06/06 11:07:34.48 SWJRXsGZ.net
一度DBに慣れるとファイル使うのめんどくさくなるよね

536:デフォルトの名無しさん
16/06/06 11:28:46.71 xfsRheZo.net
いずれはDBにも手を出すことになるだろうが、今の段階ではまずファイルがいいよ。
DBの準備、テーブルの準備、DBへの接続、開発中のデータのメンテナンス、etc. 手始めにチャットをちょろっと作るには少々面倒だと思う。
しかも自前のファイル処理は排他なんかの基礎的な技術も使うちょうどいい題材だと思う。

537:デフォルトの名無しさん
16/06/06 12:02:24.68 z3VswDq0.net
>>534,536
お二人ともありがとうございます
まだphpを学習している段階ですので、ファイルから入りデータベースの利用も考えて拡張していけたらと考えています
MySQLは多少触ったことがあるのですがAjaxとやらはJSで書かれてるみたいなんで心配ですね
当面の間の目標は決まったので取り組んでいきたいと思います

538:デフォルトの名無しさん
16/06/06 12:48:53.75 cB/a+aRW.net
unixタイムスタンプの変数名として$dateを使うのは変ですか?
dateといえば通常日付を持つオブジェクトですが
phpの場合、dateは日付を文字列に直す関数の名前なので
phpの作法としては良くないのか?とも思います
どうなのでしょうか?

539:デフォルトの名無しさん
16/06/06 12:56:02.62 i0QOUB1M.net
お前のシステムのタイムスタンプは日付単位なのか。すげえな。

540:デフォルトの名無しさん
16/06/06 13:05:19.30 xfsRheZo.net
>>538
マニュアルではタイムスタンプを取る関数の引数リストは timestamp となってるから、PHP流にするならそれに従うとか?
おれは近距離で使う場合なら $t とか $tm で済ますな。

541:デフォルトの名無しさん
16/06/06 14:07:10.33 VZp5fXoT.net
一度でいいから口だけオッサンの溜め息が出るほどに素晴らしい華麗なプログラムを見せて欲しいものだ
まあ、それが出来ないから口だけオッサンなわけなんだけれどもね

542:デフォルトの名無しさん
16/06/06 14:25:14.47 cB/a+aRW.net
>>539
アスペ乙
>>540
timestampが無難ですね
ありがとうございました

543:デフォルトの名無しさん
16/06/06 14:37:23.20 CS8YjhCP.net
最近の質問者は煽り耐性がないなw

544:デフォルトの名無しさん
16/06/06 14:48:20.68 e+TlXwYN.net
int32だと2038年になったとき困るもんな
そこで64bitPHPですよ

545:デフォルトの名無しさん
16/06/06 15:02:04.40 Nu4gS3Qg.net
>>544
64bitPHPって、動作環境も64必須になるの?

546:デフォルトの名無しさん
16/06/06 15:44:32.88 3yfrnV+f.net
8bit環境でも動くよ

547:デフォルトの名無しさん
16/06/06 16:42:19.25 cB/a+aRW.net
strtotimeは非常に柔軟な解釈をしますが
これはphpが他の言語を参考にしたのでしょうか?

548:デフォルトの名無しさん
16/06/06 16:44:19.58 m0TG3c4D.net
Cのexec系のように
自分自身のプロセスを置き換えるプログラムの起動方法はありますか?

549:デフォルトの名無しさん
16/06/06 18:43:05.67 BBAYr+Aj.net
>>548
こないだの人と同じだろうか。
URLリンク(php.net)
とりあえずここを一通り見るとこれからの疑問もいくつか解決できるかと。

550:デフォルトの名無しさん
16/06/06 19:06:02.71 J1e3bhcQ.net
>>543
無いのは耐性じゃなくて羞恥心だ。本当にサルしかいなくなった。

551:デフォルトの名無しさん
16/06/06 19:08:37.27 J1e3bhcQ.net
>>547
マネする事しかできないサルはそんなこと気にしても無駄だ。おとなしく使い方だけ覚えてろ。

552:デフォルトの名無しさん
16/06/06 19:10:05.25 J1e3bhcQ.net
>タイムスタンプの変数名として$dateを使うのは変ですか?
dateの意味が分からないサル、素敵。

553:デフォルトの名無しさん
16/06/06 19:17:07.72 J1e3bhcQ.net
>>549
そのバカは教えてもらっても活用できないから総合的なリンクを貼っても無駄だ。
1から100まで手とり足とり教えてやるだけの覚悟が必要だぞ。

554:デフォルトの名無しさん
16/06/06 19:37:24.24 cB/a+aRW.net
>>549
ちがいますよ
「こないだの人」っていうのはたぶん自分なので

555:デフォルトの名無しさん
16/06/06 21:51:51.16 1+sOyhVW.net
MySQLの画像が表示できずに困っています。

main.php
<img src="gazou.php">

gazou.php
$src = file_get_contents('画像のURL');
echo header('Content-Type: image/jpeg');
echo $src;

これなら正常に動作しますが、gazou.phpでDB接続しただけで画像も表示されなくなってしまいます。

$link = mysql_connect('localhost', 'root', 'pass');

DBに接続できる事は確認済みです。エラーも起きていません。
原因のわかる方がいたらお願いします。助けてください。

556:デフォルトの名無しさん
16/06/06 21:52:47.52 1+sOyhVW.net
すみません。改行がおかしくなってました

557:デフォルトの名無しさん
16/06/06 22:00:04.71 O157QY9D.net
<?php

558:デフォルトの名無しさん
16/06/06 22:06:18.56 xfsRheZo.net
>>555
DB接続と画像取得を同時にやると memory_limit に引っかかるとか?

559:デフォルトの名無しさん
16/06/06 22:16:02.69 lRe9eSuk.net
>>555
いや何でheaderをechoしてんの

560:デフォルトの名無しさん
16/06/06 22:20:02.11 xfsRheZo.net
言われてみればw

561:デフォルトの名無しさん
16/06/06 22:22:35.62 1+sOyhVW.net
>>558
リミット増やして、画像を極小の物にしましたが駄目でした。
>>559
ネットにあった物を丸コピしましたが、echoする必要なかったんですね。
ありがとうございます。

562:デフォルトの名無しさん
16/06/06 23:12:41.43 pobwg1Vi.net
>>561
そんなのネットに落ちてるのか
URL教えてくれまいか

563:デフォルトの名無しさん
16/06/06 23:15:55.37 pcbEmQ5n.net
>>561
DB接続を先にして画像表示を後にしてみれば

564:デフォルトの名無しさん
16/06/07 00:05:13.10 lP0BMeFG.net
>>563
すみません、先に接続してます
画像が表示されなくなるので、DBの画像がおかしいのかと色々調べて結論が
DBに接続したからってよく分からない原因でした
自分以外は起きないようですしDBに画像入れるのは諦めます、ありがとうございました

565:デフォルトの名無しさん
16/06/07 00:21:59.49 D2B0dW6i.net
>>564
レスポンス見るとたぶんなんか文字列が出てるんだと思うよ

566:デフォルトの名無しさん
16/06/07 03:50:11.15 T/syB7Ij.net
こんなんで諦めるのか。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch