【PHP】下らねぇ質問はID出して書き込みやがれ 94
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/03/17(水) 23:17:41ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 93
http://pc11.2ch.net/test/read.cgi/php/1266229386/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0136nobodyさん
2010/03/22(月) 05:27:50ID:???最近のyoutubeのAPIに対応したソースがあるサイトってありませんか?
どれも動かないんです
0137nobodyさん
2010/03/22(月) 05:33:45ID:???0138nobodyさん
2010/03/22(月) 06:07:13ID:???0139nobodyさん
2010/03/22(月) 07:23:28ID:QPPKsgL4ボタンを押すごとにその数値が増えていくというものはPHPで作れますか?
0140nobodyさん
2010/03/22(月) 08:20:58ID:Rk6TrDyI1 プロバイダのメールサーバを使う?? (さくらとOCNとgmailのアカウントあり)
2 メールサーバをローカルで立てる?
とりあえず
ini_set( "SMTP", "adminname.sakura.ne.jp" );
とさくらメールのSMTPをいれて試したけどダメでした。。
0141139
2010/03/22(月) 10:40:17ID:???0143nobodyさん
2010/03/22(月) 13:16:58ID:???ごめん、142は読み間違えた・・。
ini_setじゃなくて、php.iniに直接書けば?
あと、さくらの場合、smtp_portを587にしないと駄目だよ。
0145nobodyさん
2010/03/22(月) 13:25:55ID:???0146nobodyさん
2010/03/22(月) 13:26:43ID:???0147nobodyさん
2010/03/22(月) 13:41:15ID:???fetchメソッドのoffsetが効かなくて困ってます。
$sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 10);
こんな感じでやると検索結果の10行目から取得し始めると思ってたんですけど
間違ってますか?
0148nobodyさん
2010/03/22(月) 20:51:06ID:r5y42//hRewriteEngine On
RewriteRule ^search\/([A-Z0-9]{10})$ http://example.com/dev/search.php?q=$1
これをdevに置いて、http://example.com/dev/search/ABCDEFGH10
にアクセスしても、ABCDEFGH10をgetできてないようです。
PHP側の処理に問題があったりするのでしょうか?
0149nobodyさん
2010/03/22(月) 20:54:45ID:???0151nobodyさん
2010/03/22(月) 21:09:38ID:r5y42//h練習かどうかは分からないが、便利
http://www.rubular.com/
>>150
ありがとうございます。
ですが、やってみると500エラーになってしまうようです。
レンタルサーバーの共用プランではログは取れないのでしょうか?
0152nobodyさん
2010/03/22(月) 21:11:06ID:???今度からスレタイをちゃんと読めよ。
ttp://www.rider-n.sakura.ne.jp/regexp/regexp.php
0155nobodyさん
2010/03/23(火) 00:51:02ID:unctT7f6UTF-8の環境でmb_strcut("あいうえお",0,7)とした時、"あい"と表示された後次の文字が文字化けしてしまいます。
原因は"う"の1バイト目までしか出力されないからのようですが、このように余った時"あい"までの出力で止めるようにすることはできるのでしょうか?
試した環境、win32 PHP 5.3.0
0156nobodyさん
2010/03/23(火) 00:57:32ID:???>encoding パラメータには文字エンコーディングを指定します。省略した場合は、内部文字エンコーディングを使用します。
とマニュアルに書いてあったので文字コードの指定を省略したのが原因でした。
0157nobodyさん
2010/03/23(火) 09:43:05ID:???0158nobodyさん
2010/03/23(火) 15:23:09ID:ssmJpUwMこの度、WinからcentOS5.4へ移行し、PHPを実行しようと思ったのですがどうにもうまくいきません
まず、Apacheを入れようとしたら、make installの所でエラーが出、しかもエラー内容が分からなかった為
centOSに標準で入っているApache(2.2.3)、Mysql、PHP(5.1.6)をインストールしました
例えばyum install phpとか、yum install http-serverとかを実行しました
で、centOSでApacheの公開フォルダ(Winではhtdocs)が/var/www/html/だと知ったので、そのフォルダ内にphpのファイルを置きました
phpinfo.phpとか、index.htmlのようなファイルをhttp://localhost/phpinfo.phpと実行するとちゃんとブラウザに内容が表示されます
しかしながら、/var/www/html/フォルダ内にtestやphpMyAdminのようなフォルダを入れると、
The requested URL /test was not found on this server
のようにエラーが出てしまいます
これはどうしてなのでしょうか?
どのようにすれば意図したようにきちんと表示されるのでしょうか?
php.ini、http.confはデフォルトのままですが、phpinfoで確認した所、php.iniの場所はちゃんとなっておりました
また、/etc/httpd/conf/httpd.confを調べてみた所、
ServerRoot "/etc/httpd"
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
のように特におかしいような気もしませんでした
0159nobodyさん
2010/03/23(火) 15:42:58ID:???0160nobodyさん
2010/03/23(火) 15:46:17ID:???0161nobodyさん
2010/03/23(火) 16:01:08ID:???0162nobodyさん
2010/03/23(火) 16:12:28ID:ssmJpUwM一応Readと実行権限はあると思います
Apacheのエラーログは今見てみます
0163nobodyさん
2010/03/23(火) 16:24:05ID:ssmJpUwM[Tue Mar 23 14:46:48 2010] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 23 14:46:48 2010] [notice] Digest: generating secret for digest authentication ...
[Tue Mar 23 14:46:48 2010] [notice] Digest: done
[Tue Mar 23 14:46:48 2010] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Tue Mar 23 14:48:48 2010] [notice] caught SIGTERM, shutting down
[Tue Mar 23 14:51:22 2010] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Tue Mar 23 14:51:22 2010] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 23 14:51:23 2010] [notice] Digest: generating secret for digest authentication ...
[Tue Mar 23 14:51:23 2010] [notice] Digest: done
[Tue Mar 23 14:51:24 2010] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Tue Mar 23 15:14:13 2010] [error] [client 127.0.0.1] File does not exist: /var/www/html/test
[Tue Mar 23 15:14:13 2010] [error] [client 127.0.0.1] File does not exist: /var/www/html/favicon.ico
[Tue Mar 23 15:48:31 2010] [notice] caught SIGTERM, shutting down
[Tue Mar 23 15:51:07 2010] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Tue Mar 23 15:51:07 2010] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 23 15:51:08 2010] [notice] Digest: generating secret for digest authentication ...
[Tue Mar 23 15:51:08 2010] [notice] Digest: done
[Tue Mar 23 15:51:09 2010] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
のようになっております
0164nobodyさん
2010/03/23(火) 16:41:20ID:???0165163
2010/03/23(火) 16:49:36ID:???どういう事でしょうか?
例えばtestフォルダを表示したい時にhttp://localhost/testではなく、http://localhost/test/でアクセスということでしょうか?
それともtest内にtest.phpとか入れてって事でしょうか?
どちらもやはりエラーになってしまいました
もしやと思い、testフォルダの名前をtest/と変えてみましたが、/は含められないとLinux側でエラーが出ました
0166nobodyさん
2010/03/23(火) 16:58:21ID:???いまちょっとググってみたんだけど
もしかして/etc/httpd/conf.d/welcome.confとか読み込まれてない?
0167nobodyさん
2010/03/23(火) 16:58:26ID:???スレ違いだし、なにをしたいんだ一体
表示させたいページ用意してないだけと違うかと
0168nobodyさん
2010/03/23(火) 17:25:09ID:ssmJpUwMwelcome.confは、ErrorDocument 403 /error/noindex.htmlと、noindex.htmlを表示するのだと思うのですが、それとは違うようです
良く分からないのですが
>>167
すみません
例えばtest.phpという
<?php echo"test";
ファイルを/var/www/html下に置くとブラウザ上にtestと表示されます
しかし、これがディレクトリ構造を持つようになると、途端にエラーが出てしまいます
例えば、/var/www/html/test/test.phpとかになると、上記のように存在しないとエラーになります
>testフォルダを表示したい
Winの頃は、htdocs下にtest/test.phpを置き、localhost/testとすると、そのディレクトリ構造が表示されましたが、という事を言いたかったのです
今まではApacheのhtdocs下にphpMyAdminを入れて使っていたのですが、Linuxで同じように公開されているフォルダ内に入れたらそのフォルダと中身が認識されないので困ってしまって
0169167
2010/03/23(火) 17:28:29ID:???あとtestディレクトリでアクセスしてtest/と補完されないならmod_dirモジュールがApacheに組み込まれてないとかか
0170168
2010/03/23(火) 17:53:08ID:???何が理由かわかりませんが、急にtestフォルダを読み込むようになりました
今までと同じ状態だったのですが・・・
ただ、phpMyAdminは何故かパーミッションでアクセス拒否が入っておりますが
お手数お掛け致しました
0171nobodyさん
2010/03/23(火) 18:20:57ID:Gn31sNCxphp初心者です。
一つのバリューサーバーで全ドメイン管理しています。
ドメイン取得もバリューでしました。
AのドメインのファイルにB、C、Dというドメインから直接書き込みを行いたいのですが
上手く行きません。
Aドメイン内のファイルをB、C、Dから読み込みは出来ます。(ちなみに)
パーミッションの設定はいじってみましたが、解決しません。
その問題ではないようです。
どなたかご教授いただけませんでしょうか。
よろしくお願いいたします。
0172nobodyさん
2010/03/23(火) 18:22:36ID:???0173nobodyさん
2010/03/23(火) 18:25:49ID:/hsQzdjS0174nobodyさん
2010/03/23(火) 18:38:27ID:a2W0beeP或いは「死刑には凶悪事件の抑止力がある」と思ってませんか
或いは「掲示板で不愉快になったらその原因は発言者にある」と思ってませんか
これらの考えの根っこは、実は同じです(※善悪の話ではありません)
これまで当たり前だと思って、深く考えなかったこと・・・
周りに言われるままに、何の疑問も抱かなかったこと・・・
それらが本当に正しいのか、ちょっと立ち止まって考えてみませんか
いじめに関するよくある勘違い
http://mamono.2ch.net/test/read.cgi/youth/1268212962/
死刑制度に関するよくある勘違い
http://society6.2ch.net/test/read.cgi/court/1268212298/
外界は内界を映し出す鏡だって言ってたようちの嫁も
http://academy6.2ch.net/test/read.cgi/philo/1264845494/
0176nobodyさん
2010/03/23(火) 18:49:27ID:???0177nobodyさん
2010/03/23(火) 19:34:09ID:Gn31sNCx環境はどのあたりを書けばよいでしょうか?
このあたりでしょうか?
バリューサーバーの環境
PHP Version 5.2.5
Directive Local Value Master Value
==============================
allow_call_time_pass_reference On On
allow_url_fopen On On
allow_url_include Off Off
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
他にどの部分を書けばいいのかよければ教えて下さい。
初心者ですみません。
0178nobodyさん
2010/03/23(火) 19:45:35ID:???自前のサイトからCIAのサイトを書き換えようみたいなこと考えてるなら>>172
0179nobodyさん
2010/03/23(火) 19:49:12ID:???0180nobodyさん
2010/03/23(火) 21:26:41ID:???0181nobodyさん
2010/03/23(火) 22:10:26ID:???ファイルI/Oは減少しそうだけど、便利ですか?
0183nobodyさん
2010/03/23(火) 23:00:49ID:RFIu07UKグーグルで調べて、何回が試してみました。
<?php
$rndtxt[0] = 'テキスト1';
$rndtxt[1] = 'テキスト2';
$rndtxt[2] = 'テキスト3';
$rndtxt[3] = 'テキスト4';
$rndtxt[4] = 'テキスト5';
$length = count($rndtxt) - 1;
srand( (double)microtime()*1000000 );
$num=round( rand(0,$length) );
print("$rndtxt[$num]");
?>
でphpファイルを作成してアップ
<!-- PHPランダム広告 ここから -->
<? include("/rndtxt.php"); ?>
<!-- PHPランダム広告 ここまで -->
をファイルに入力して読み込みを行うようにする。
こんな感じでやってみたのですが、アップロードすると表示部分が下のようになってしまいます。なにが悪いのか教えてください。
Warning: main(/pph/ttt.php) [function.main]: failed to open stream: No such file or directory in (ファイル位置の表示) on line 25
Warning: main() [function.include]: Failed opening '/pph/ttt.php' for inclusion (include_path='.:/usr/local/php4/share/pear') in (ファイル位置の表示)on line 25
0184nobodyさん
2010/03/23(火) 23:20:40ID:???0185nobodyさん
2010/03/23(火) 23:22:15ID:/hsQzdjS0186nobodyさん
2010/03/24(水) 00:55:17ID:???がエラー。
ファイルがその場所にないんだろ。
同じディレクトリなら
include 'rndtxt.php';
で十分
0187nobodyさん
2010/03/24(水) 00:58:45ID:dTWj0PObどうすればいいのでしょうか?
0188nobodyさん
2010/03/24(水) 01:46:02ID:X47Xx9mp(スレ違いの場合はお手数ですが誘導の方お願いいたします。)
風俗のリンク集なんかで「本日出勤中」というようなサイトをみかけますが
これはどのような仕組みで表示しているのでしょうか?
ttp://www.delihels.com/main.php
(このようなサイトです)
0191nobodyさん
2010/03/24(水) 01:58:58ID:???0192nobodyさん
2010/03/24(水) 02:05:37ID:???0194nobodyさん
2010/03/24(水) 06:13:51ID:X47Xx9mpお答え頂いた方々、どうもありがとうございました。
各お店の専用ページのようなものがあり、そこからお店側が更新して、
サーバに反映されてるんですね!!・・・?
これってRSSなんかじゃできないですよね・・・
勉強が必要ですね・・・
ありがとうございました。
0196nobodyさん
2010/03/24(水) 11:03:40ID:WEWtuFeV>>178さん
同じユーザで管理しています、もちろん。
ですが、ドメインが変わると書き込みが出来ないんです。(呼び出しは出来ます)
書き込み用のファイルの設定を変えなければならないのでしょうか?
0197nobodyさん
2010/03/24(水) 11:13:42ID:???だからドメイン関係ないって
www.omae.comからwww.google.comにおいてあるファイルを書き換える事できないだろ?
フォームにPOSTして書き込むかローカルで書き込むファイルのパス指定しないと。
どういう関数使おうとしてるとかもっと詳しく書かないとこれ以上わからんよ。
0198nobodyさん
2010/03/24(水) 12:25:32ID:WEWtuFeVFORM METHOD="POST" action="
action="
↑の続きに別のドメインを書けば書き込めるということでしょうか?
0199nobodyさん
2010/03/24(水) 12:29:13ID:???システムコールで弄ればいいじゃない
0200nobodyさん
2010/03/24(水) 12:34:28ID:???0201nobodyさん
2010/03/24(水) 13:18:49ID:???<?php
$file = 'add.txt';
touch($file);
chmod($file, 0666);
if(isset($_GET['add'])){
file_put_contents($file, $_GET['add']);
}
echo htmlspecialchars(file_get_contents($file));
?>
B鯖/input.php:
<form action="A鯖/view.php" method="get">
<textarea name="add"></textarea>
<input type="submit">
</form>
B鯖から入力してA鯖に書き込んで表示できる。
こんな感じか?
0202nobodyさん
2010/03/24(水) 14:32:22ID:???0203nobodyさん
2010/03/24(水) 14:49:46ID:WEWtuFeV>>201さん
ありがとうございます。
できました。
0204nobodyさん
2010/03/24(水) 14:52:04ID:JopdS9PVfunction h($str){
0205204
2010/03/24(水) 14:54:44ID:JopdS9PV途中送信すまん。
function h($str){
return htmlspecialchars($str);
}
で
h($_GET['add'])とした方が良い。
あと、CSRF的に危ないかも。。
0207nobodyさん
2010/03/24(水) 15:05:05ID:JopdS9PVXSS危なくね?
0208nobodyさん
2010/03/24(水) 15:18:03ID:???>>201はサンプル程度のつもりだろうからセキュリティ対策がどうとかは別として
そこを関数にしたところで変数の中身は変わらないとおもうんだが。。
0209nobodyさん
2010/03/24(水) 15:25:39ID:JopdS9PV0210nobodyさん
2010/03/24(水) 15:57:47ID:???0211nobodyさん
2010/03/24(水) 16:00:03ID:???XSSでも喰らってろ
0212nobodyさん
2010/03/24(水) 16:00:56ID:???0213nobodyさん
2010/03/24(水) 16:26:29ID:???0214nobodyさん
2010/03/24(水) 16:35:12ID:???0215nobodyさん
2010/03/24(水) 16:38:42ID:???CakePHPにもh()あるしな
0216nobodyさん
2010/03/24(水) 16:38:46ID:???0217nobodyさん
2010/03/24(水) 16:47:12ID:9W7AG8ph現在作成中のWebサイト上で、ユーザー登録をするページを作成中なのですが、
登録ページ内で入力されたユーザーIDが既に登録されている物と重複しないかの確認をさせたいと思っています。
この場合、どのようにすればよいのでしょうか?
データベースにはMySQLを使用しています。
0219nobodyさん
2010/03/24(水) 17:55:47ID:???0220nobodyさん
2010/03/24(水) 17:57:11ID:JL5BpxOEhttp://douseidoumei.com/phpman1/
0223nobodyさん
2010/03/24(水) 19:51:05ID:K69tMWx3例えばmysqliを例にすると、
http://jp2.php.net/manual/ja/book.mysqli.php
mysqli::method
mysqli->method
の2種類の書き方がありますが、
これは前者がstaticメソッドで後者がインスタンスメソッドであることを意味するのでしょうか?
もしその場合mysqliのコンストラクタはstaticコンストラクタということでよろしいでしょうか?
あとmysqli_queryのパラメータは、
mixed mysqli::query ( string $query [, int $resultmode ] )
となってますが、[, int $resultmode]って書いてるとこはどういう意味なのでしょうか?
string $query, int $resultならわかるのですが、この[]の意味はなんなんでしょう?
よろしくお願いします。
0224nobodyさん
2010/03/24(水) 20:23:03ID:???0225nobodyさん
2010/03/24(水) 20:30:43ID:???0226nobodyさん
2010/03/24(水) 20:40:37ID:???>これは前者がstaticメソッドで後者がインスタンスメソッドであることを意味するのでしょうか?
おk
>もしその場合mysqliのコンストラクタはstaticコンストラクタということでよろしいでしょうか?
これはよくわからない
>string $query, int $resultならわかるのですが、この[]の意味はなんなんでしょう?
関数呼び出し時、省略できます
0227nobodyさん
2010/03/24(水) 21:00:31ID:FLvwWD9bみたいな日時の文字列を
2010-03-24 20:38:04.686
のように変形するコードを、短く格好よく書いて!
preg_match( '/(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/',$time, $m )
これ使う長くてダサいので、もxも
0228nobodyさん
2010/03/24(水) 21:07:49ID:???0229nobodyさん
2010/03/24(水) 21:09:05ID:???0230nobodyさん
2010/03/24(水) 21:12:12ID:K69tMWx3どうもありがとうございます。
省略可能とのことですが、これを自分で定義する場合はどうするのでしょうか?
function hoge($a, $b=NULL)のようにデフォルト値を入れるのでしょうか?
またfunction hoge($a, $b=NULL, $c=NULL, $d=NULL)のようになっていて、
$aと$dにパラメーターを入れたい場合、中間にある$bと$cは省略できないという認識であってますか?
つまりhoge("a", "d")ではdが$bになってしまうのでhoge("a", NULL, NULL, "d")としないといけませんか?
0231nobodyさん
2010/03/24(水) 22:52:07ID:+UL/zmjAphp.iniに登録していない独自の拡張モジュールを使いたいのですが
0232nobodyさん
2010/03/24(水) 22:54:44ID:???$datetime = '20100324203804686';
$format = '0000-00-00 00:00:00.000';
$result = '';
for ($i = 0, $j = 0, $len = strlen($format); $i < $len; ++$i) {
$result .= $format[$i] === '0' ? $datetime[$j++] : $format[$i];
}
var_dump($result);
あんまかっこよくないしループもホントはしたくない。もxも
0233nobodyさん
2010/03/24(水) 23:01:02ID:???DLLということはWIN?
ならextとかextensionフォルダに突っ込めばいい。
無理ならdl();
それも実行時のディレクトリにphp.iniを置く。ってできたっけ
0234nobodyさん
2010/03/24(水) 23:06:00ID:+UL/zmjAサーバーで動くバイナリ用意すれば非対応の機能もうごかせるってことですか。
0235nobodyさん
2010/03/24(水) 23:09:23ID:+UL/zmjAhttp://php.net/manual/ja/function.dl.php
0236nobodyさん
2010/03/25(木) 01:08:46ID:???ダサく書いてみた。
$datetime = '20100324203804686';
$t = sscanf( $datetime , "%4s%2s%2s%2s%2s%2s%3s");
print sprintf ("%s-%s-%s %s:%s:%s.%s",$t[0],$t[1],$t[2],$t[3],$t[4],$t[5],$t[6]);
■ このスレッドは過去ログ倉庫に格納されています