【PHP】下らねぇ質問はここに書き込みやがれ 69
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/05/27(火) 18:04:33ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0484nobodyさん
2008/06/13(金) 01:55:11ID:???面白そうだからやってみた。
<?php
require_once('./settings.php');
session_start();
print_r($_SESSION);
if(isset($_SESSION['hoge'])){
$old = $_SESSION['hoge'];
}else{
$old = 'atai';
}
session_destroy();
$a = rand();
session_id($a);
session_start();
$_SESSION['hoge'] = $old.'_atai';
?>
<a href="./session.php">hoge</a>
こんな感じでどう?
0485nobodyさん
2008/06/13(金) 01:59:37ID:???2.セッションの中身を変数に書き出し
3.とりあえずセッションの中身を破棄
4.session_idで自分で値指定(例では面倒なのでrandしてみた)
5.session_start
6.値の格納
requireしてるsettings.phpは、ini_set('session.use_trans_sid', 1)して、GETクエリにセッション渡して動作みてるのに使っただけ。
一応動いてるように見えるけど、どうでしょうね。
0486nobodyさん
2008/06/13(金) 02:06:41ID:???POSTメソッドで送られてきたHTTPのBODYって、$_POST変数に格納された値のこと?
だったら、$_POSTに格納されてる値をstrlenとればバイト数でるんじゃない?
0488nobodyさん
2008/06/13(金) 02:13:10ID:???0489nobodyさん
2008/06/13(金) 02:21:00ID:???0490nobodyさん
2008/06/13(金) 02:28:05ID:???具体性がないと、ただ難癖つけたいだけにしか見えないよ。
具体的に指摘して欲しい。
2chの行数制限を踏まえた上で。
0491nobodyさん
2008/06/13(金) 02:33:11ID:???このソースは、value値を自動的に書き換えるためだけに、生成されたHTMLを一度XML書式の配列に落として、
値の中身見て、値を突っ込むの?
こんな方法で実現させるぐらいなら、普通に処理したほうが良くない?
もしくは、Quick_Formちょろっといじって該当の機能つけるとか。
まぁ、もしくは、inputタグを生成する関数(or class)作って、REQUEST_METHODがPOSTだったときにvalue値をごにょごにょするようにするとか。
0492nobodyさん
2008/06/13(金) 02:54:37ID:???> 実際、読み込んだ後にsession_idで指定しても、
> 発行されるクッキーは旧IDが入っています。
そこでもう一回 session_start() じゃだめだっけ?
0493nobodyさん
2008/06/13(金) 03:05:52ID:???>>484でソース書いた者ですが、
あのソースで動くなら、>>492で行ってる通りっスね。
destroyって、セッション殺すわけじゃなくてセッション変数に入ってる値を破棄するだけだから。
session_start();
session_id('nantoka');
session_start();
で書き換わるね。
0494nobodyさん
2008/06/13(金) 08:48:03ID:VkO+Sagjいままではaccessで顧客情報を共有しており、それをmysqlにインポートするべく
phpmyadminをインストールしcsvにてインポートしようとしているのですが、
phpmyadminのインポートするファイル形式の選択肢がsql形式しかありません、
いろいろググってみたのですが該当する理由がわかりませんでした。
他のページでは形式が選べる的なことが書いてあるのですが、当環境では見当たらないのです。
ご教授願えるとありがたいと思います。よろしくお願いします。
0495nobodyさん
2008/06/13(金) 09:34:22ID:???0497nobodyさん
2008/06/13(金) 13:33:09ID:EDleoE9amysqlなどのDBを自前で用意するときは、
DBのサーバー名、ログインユーザー名、パス、DB名、DB内のテーブル名などがわかっているので
1. mysql_connect()でDBにアクセス→DBの任意のテーブルに文字列をINSERTするスクリプトを書いておく
2. CRONで1.を定時に実行させる
で自動投稿が可能ですが
fc2などのブログに自動投稿しようと思った場合はどのような処理や関数を使えばいいのでしょうか
こちらは掲示板の自動投稿に近いと思うのですが、
そのやり方ですら思いつきません
どうぞよろしくお願いします
0498nobodyさん
2008/06/13(金) 13:36:24ID:???0499nobodyさん
2008/06/13(金) 13:36:36ID:???レンタルブログ使った事ないから知らないけど、
cronのような機能を使えない以上は、
POSTするプログラムを用意して、
こちら側で定期実行するしかない気がするんだけど。
0500nobodyさん
2008/06/13(金) 13:47:10ID:EDleoE9aいえ、スパマーではなく単なる知的好奇心です
>>499
そうですね
そのPOSTするプログラムを作りたいのですが、
1.フォームにIDとパスワードをPOST
2.記事をPOST
このやり方がわかりません・・・
と思って質問させてもらったのですが、1、2をそのままやればできるのかもしれないと思いました
実験してなかったのでやろうと思います
0501nobodyさん
2008/06/13(金) 13:54:48ID:???0502nobodyさん
2008/06/13(金) 14:05:36ID:EDleoE9aそうですね すいません
スパム行為によって利益をあげることを目標としているスパマーは嫌いですけど
技術を身につける上での通過点としてスパム行為の知識を持っておくのはアリかなと思い、質問させてもらったのですが
こういう質問はもっとひっそりとしたところでやるべきだったのかもしれません
すいません
0503nobodyさん
2008/06/13(金) 17:41:51ID:???ここでSQLの設定ができずに登録が先に進まないんですが仕様ですか?
0504nobodyさん
2008/06/13(金) 18:43:20ID:???よくある質問(何も無いけど)を見て、もしわからなければ
お問い合わせ(エラーになるけど)で質問したらいいかも
0506nobodyさん
2008/06/13(金) 21:01:00ID:???>SQLの設定ができずに
とだけ言われても返答のしようも無いですよ。
同じものを取得して実際にインストールしてみろとでも?
なにをやって、どういうエラーが出ていて、そのソースにはこういた記述があって・・・
ぐらいは書いた上で質問してもらえると助かります。
0507nobodyさん
2008/06/14(土) 00:14:23ID:???(2) http://example.com/?bar のように、
とフォーム入力側で実現することは可能でしょうか?
<form method="get" action="./index.php">
<input type="text" name="foo" value="" />
<form>
GETでinputに値を渡して、
URLを(2)のように表示させたいのです。
.htaccessだとうまく実現できずに困っています。
0508nobodyさん
2008/06/14(土) 00:31:48ID:???0509nobodyさん
2008/06/14(土) 00:33:52ID:???0511nobodyさん
2008/06/14(土) 00:41:18ID:???foo=も消したいのか・・・
JavaScriptでURL作るなりしないと、formを普通にsubmitするだけじゃ無理じゃね?
0512nobodyさん
2008/06/14(土) 03:03:01ID:???<?php
//大雑把だけどむりやりブッ飛ばして
if(isset($_GET['foo'])){
header('Location: '."./?".$_GET['foo']);
}
//取得する?って事かな
if(isset($_GET)){
print_r($_GET);
}
?>
<form method="get" action="./">
<input type="text" name="foo" value="">
<input type="submit" value="送信">
</form>
0513nobodyさん
2008/06/14(土) 04:21:01ID:SvNsf5RjAサーバーに置いてあるa.logファイルをBサーバーから書き換えるには
何を使えばいいでしょうか?
fopen("ftp://アノニマス:パスワ@ftp.a.ne.jp/headline.log","w");
とすると、FTP server reports 553 /headline.log: Permission denied
と言うエラーが出ます。
headline.logファイルの属性は、777と666で試しました。
結果は変わらずです。
使う関数を間違えているのでしょうか?
0514nobodyさん
2008/06/14(土) 04:25:52ID:???0515nobodyさん
2008/06/14(土) 04:27:27ID:???0517nobodyさん
2008/06/14(土) 04:56:10ID:UEa+HjFVシステム). OS:Linux Vine4.2 HTTP:Apache2.2.3 PHP 5.2.6
操作1) PHPをApacheに組み込み、test.phpにアクセス(*1
. 情報が表示されたのでPHPの正常動作を判断
操作2) 自鯖のHTTPディレクトリにファイル(/var/www/html/rss/rssv.php)を作成(*2
操作3) 自鯖の公開ページにソースを記述(*3
が、RSSは表示されず、ソースを張った場所には何も表示されず
*2)のいじった場所はShift_JISで上記の結果。改変後は「ページが表示できません」エラー
*1) <?php
phpinfo();
?>
*2) <?php
require "XML/RSS.php";
$code = "UTF-8"; /*←ここいじった*/
(ry
*3) <iframe src="./rss/rssv.php?u=http://(´・ω・`).com&n=3" (ry></iframe>
何処かおかしいところがあればご教授下さい。
マニュアル他解説サイトなどを手がかりにしましたが、
自鯖公開ページとPHPは同じエンコーディングじゃないとまずいのではと思い、
その部分を変更してみましたが目標に至れず質問しますた。
0518nobodyさん
2008/06/14(土) 08:55:45ID:???0519nobodyさん
2008/06/14(土) 10:01:05ID:???どうすれば改善できるでしょうか
0522nobodyさん
2008/06/14(土) 10:38:31ID:???素早い回答ありがとうございました
ですが知識の乏しい自分にはどうしてもわかりませんでした
もう少しわかりやすくお願いできないでしょうか
0525518
2008/06/14(土) 11:19:12ID:aruCSElJもしかしてこういうことですか?
2ちゃんねるそのものが初心者なもので
一応マニュアルやリファは読んだのですが
わからなかったのでここにきました
0529nobodyさん
2008/06/14(土) 11:40:11ID:???0530nobodyさん
2008/06/14(土) 11:52:08ID:???0531nobodyさん
2008/06/14(土) 14:21:20ID:QTSkypnpは何て言っているんですか??
0532nobodyさん
2008/06/14(土) 14:45:47ID:???0533513
2008/06/14(土) 15:00:41ID:SvNsf5Rjありがとうございます
fopen("ftp://アノニマス:パスワ@ftp.a.ne.jp/headline/headline.log","w");
wwwフォルダだったので新たにheadlineフォルダを作ってそこのパーミッションを
766でやってみました。ファイルのパーミッションは666です。
次はFTP server reports 553 /headline/headline.log: No such file or directory
となりました。ファイルのパスなどは間違えていないのですが…
0535513
2008/06/14(土) 16:44:49ID:SvNsf5Rjサクラのレンタルでも調べられますか?
あと、別にFTPに拘ってるわけでもなく複数のサーバー使ってるので
それらの情報をヘッドライン.logとして書き込めれば何でもいいのですが…
オススメの関数とかありますか?
ちなみにソケットとか言うのはサーバー側が使えません。
関係ないかもしれませんが。
0536nobodyさん
2008/06/14(土) 17:27:37ID:???sakura共有なら普通にftp関数使ってユーザでログインすればいいんじゃない?
たしかftpはインスコされていたと・・・
http://www.php.net/manual/ja/function.ftp-put.php
0538nobodyさん
2008/06/14(土) 17:53:13ID:???うちのsakura共有でやってみた。以下でいけたぽい
unlink("ftp://ゆーざID:パスワード@ホストIP/home/ゆーざID/www/test.txt");
$fp = fopen("ftp://ゆーざID:パスワード@ホストIP/home/ゆーざID/www/test.txt", "w");
fputs($fp, date("Y-m-d H:i:s"));
fclose($fp);
sakuraのユーザID、パスを使う
ファイルがある場合は先に削除しないとエラーになる(上書きできないみたい)
ホストIP以降のパスはフルパス
0539535
2008/06/14(土) 18:04:15ID:SvNsf5Rjマジですか…
先にファイルのデータを読み取ってそれに追加したいのですが…
とりあえず試してみます
0540535
2008/06/14(土) 18:11:15ID:SvNsf5Rjしかし、メチャクチャ遅いのですが…
さらに書き込み終わった後、すぐにエラーでIEが閉じてしまいました…
0541nobodyさん
2008/06/14(土) 23:11:31ID:???PHPでCSVのデータを表示できる事は出来たのですが
その各項目をテーブルに収めたいのです。。
echo を使うと大変で(汗 Smartyを使うしかないのでしょうか?
0542nobodyさん
2008/06/14(土) 23:17:41ID:???<table summary="hoge">
<tbody>
<?php foreach($array as $val): ?>
<tr>
<td><?php echo $val[0]; ?></td>
<td><?php echo $val[1]; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
こういう書き方じゃダメ?
0543nobodyさん
2008/06/14(土) 23:22:53ID:???最近では非推奨らしいけど、ショートタグとか言われてる記述があるよ。
<?php echo $hoge; ?>
↓
<?=$hoge?>
0544nobodyさん
2008/06/15(日) 00:11:54ID:???0545nobodyさん
2008/06/15(日) 00:22:00ID:???0546nobodyさん
2008/06/15(日) 01:55:32ID:???0547nobodyさん
2008/06/15(日) 02:27:18ID:qXYgnKYOはどうゆうエラーですか??
0549nobodyさん
2008/06/15(日) 03:01:05ID:???0550nobodyさん
2008/06/15(日) 15:02:23ID:T2nrQoQeたまに、
Fatal error: Allowed memory size of xxxxxx bytes exhausted
を吐くのですが、エラーログにファイルパスを吐いてくれません。
php.iniの設定がまずいのでしょうか?
他のerrorはファイルパスを吐きます。
どうすれば、ファイルパスを吐かせることが出来るか、
ご教示下さい。よろしくお願いします。
出来ない場合のプランとしてob_startと、$php_errormsg
ob_get_contents()、$_SERVERなどを使ってログ出しを
しようかなと思っています。
0552nobodyさん
2008/06/15(日) 16:46:24ID:PnCbQKDpif(eregi("$value$",$host))
としているのですが仮に
ZQ068252.ppp.dion.ne.jpと言うIPがあるとして
valueに「.ppp.dion.ne.jp」と書くと規制するのですが
「ZQ068252.」の部分で規制しようとするとスルーします
どうしてでしょうか?
0553nobodyさん
2008/06/15(日) 16:58:36ID:???を
if(eregi($value,$host))
にすればok
0554552
2008/06/15(日) 17:01:46ID:PnCbQKDp最後の$はこれ以降文字があったらダメ!
みたいな設定ですかね?
とにかくありがとうございます。
0555nobodyさん
2008/06/15(日) 17:06:34ID:???0556552
2008/06/15(日) 17:06:46ID:PnCbQKDp弾くようになってしまったのですが…
それ以外何も弄っていません
0558552
2008/06/15(日) 17:17:35ID:PnCbQKDp$が行の最後で^が行の最初と書いてました…
現在も捜索中ですが「.ppp.dion.」の中間文字列など
文字列がマッチするって言う表記がありません…
調べて見ますが一言で片付くならご教授お願いします
0559nobodyさん
2008/06/15(日) 17:18:25ID:???どんだけ自己中心的なのw
0560552
2008/06/15(日) 17:21:42ID:PnCbQKDp"\/$value\/"で大丈夫でしょうか?
今から実験してみますがw
0561552
2008/06/15(日) 17:25:27ID:PnCbQKDp…つwww
ダメじゃん orz
0562nobodyさん
2008/06/15(日) 17:32:37ID:???http://pc11.2ch.net/test/read.cgi/php/1168450843/
0563nobodyさん
2008/06/15(日) 17:33:47ID:???ではじくなら
$value = "/ZQ068252\..+\.dion/";
if(eregi($value,$host)) {/*やりたいこと*/};
で、どう?検証してないから駄目かもですが。
0564nobodyさん
2008/06/15(日) 17:49:14ID:???0565nobodyさん
2008/06/15(日) 17:50:19ID:???0566nobodyさん
2008/06/15(日) 21:13:30ID:4qgDFbgLecho session_id();
というページを閲覧し、web developper(firefoxのアドオン)で
HTTPレスポンスヘッダを閲覧しても、
クッキーを設定しているフィールドが見えません。
ヘッダの、
クッキーを設定しているフィールドを見ることができるアドオンがあれば
おしえてください。
どういう生ヘッダで書かれているのかみたいんです
0567nobodyさん
2008/06/15(日) 21:55:17ID:???0568nobodyさん
2008/06/16(月) 01:33:53ID:d68qAwtQセッションクッキーを、
setcookieで上書きしたいのですが、
セッションと同名のクッキーをsetcookieで発行しても、上書きできず、
クッキーフィールドが二行になってしまいます。
セッションクッキーのフィールドを上書きする方法はないものでしょうか?
0569nobodyさん
2008/06/16(月) 03:18:40ID:???$foo = new hoge;
$bar = $foo->as_strings;
print $bar;
exit;
この場合は、正常に動作するのですが、
$foo = new hogeHoge;
$bar = $foo->as_strings;
print $bar;
exit;
class hogeHoge{
function __construct() {
}
}
0570569
2008/06/16(月) 03:21:15ID:???include_once("hogeclass.php");
$foo = new hoge;
$bar = $foo->as_strings;
print $bar;
exit;
上の例は、正常に動作するのですが、
下の例では、失敗します。
$barに何も値が入りません。
$foo = new hogeHoge;
$bar = $foo->as_strings;
print $bar;
exit;
class hogeHoge{
function __construct() {
...省略
}
...省略
}
PHPファイルで、クラスを直接扱いたい場合は
どのようにすればよろしいでしょうか?
注意点あるいは参考サイト、資料などを教えて頂けますと幸いです。
0571nobodyさん
2008/06/16(月) 03:58:25ID:???http://jp.php.net/oop5
0572nobodyさん
2008/06/16(月) 11:57:07ID:???で、例えば「あ1い」から4バイトとろうとすると文字化けしてしまう。
うまいこと文字化けせずに出せるような関数ありますか?
なければ文字化けせずにとれるうまい方法を教えてほしいのですが。
0573nobodyさん
2008/06/16(月) 12:47:09ID:???世界最高のハッカーでもそれは無理な相談だ。
2文字じゃなく4バイトなんだよな?
4バイト目がマルチバイトの一部の場合は、
3 or 5バイト取得したいってわけでもないんだよな?
この意味が分からんなら、ちょっとバイトについて勉強してこい。
この意味が分かるなら、人に伝達する努力をしろ。
0574nobodyさん
2008/06/16(月) 12:48:35ID:???それよりバイトしろ。
0575nobodyさん
2008/06/16(月) 12:51:05ID:???0576nobodyさん
2008/06/16(月) 13:01:42ID:???0577nobodyさん
2008/06/16(月) 13:08:57ID:???0578nobodyさん
2008/06/16(月) 13:55:38ID:???0580nobodyさん
2008/06/16(月) 14:05:46ID:???0582nobodyさん
2008/06/16(月) 14:10:54ID:???0583nobodyさん
2008/06/16(月) 14:29:35ID:???普通にふぃっちするだけなんだけど。
■ このスレッドは過去ログ倉庫に格納されています