【PHP】下らねぇ質問はID出して書き込みやがれ 105
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/03/17(木) 04:00:34.11ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0104nobodyさん
2011/03/20(日) 19:48:24.95ID:???$list = glob( "*.dat" );
if ( is_array( $list ) ) {
shuffle( $list );
foreach( $list as $filename ) {
var_dump( $filename );
break; /* これで1個だけ */
}
}
?>
0106nobodyさん
2011/03/20(日) 19:56:31.62ID:???どいつもこいつもレベルひきいな
0107nobodyさん
2011/03/20(日) 19:57:49.92ID:???010984
2011/03/20(日) 21:08:21.74ID:FsqggCdGあとは、一覧を取得するフィルダのパスを指定出来るように悩みたいと思います
<?php
//配列の初期化
$var = array();
//ディレクトリ・ハンドルをオープン
$res_dir = opendir( '.' );
//ディレクトリ内のファイル名を1つずつを取得
while( $file_name = readdir( $res_dir ) ){
//取得したファイル名を配列に追加
array_push($var, $file_name);
}
//ディレクトリ・ハンドルをクローズ
closedir( $res_dir );
//配列からランダムでファイル名を1つ取り出す
$rand_keys = array_rand($var, 1);
//取り出したファイルを表示
require "$var[$rand_keys]";
?>
0110nobodyさん
2011/03/20(日) 21:25:14.51ID:???0111nobodyさん
2011/03/20(日) 21:48:27.81ID:???011284
2011/03/20(日) 21:54:41.77ID:FsqggCdG皆さんありがとうございました。
<?php
//配列の初期化
$var = array();
//ディレクトリ・ハンドルをオープン
$res_dir = opendir( フェルダ名 );
//ディレクトリ内のファイル名を1つずつを取得
while( $file_name = readdir( $res_dir ) ){
//取得したファイル名を配列に追加
array_push($var, $file_name);
}
//ディレクトリ・ハンドルをクローズ
closedir( $res_dir );
//配列からランダムでファイル名を1つ取り出す
$rand_keys = array_rand($var, 1);
//取り出したファイルを表示
require "フェルダ名/"."$var[$rand_keys]";
?>
011384
2011/03/20(日) 21:56:21.71ID:FsqggCdG0114nobodyさん
2011/03/21(月) 01:45:59.13ID:???echo $dir[mt_rand(0, count($dir) - 1)];
0115nobodyさん
2011/03/21(月) 01:58:08.06ID:???0116nobodyさん
2011/03/21(月) 03:09:29.53ID:???0117nobodyさん
2011/03/21(月) 14:23:58.40ID:???0118nobodyさん
2011/03/21(月) 15:21:41.88ID:???0119nobodyさん
2011/03/21(月) 21:34:16.27ID:cxZfxrlHキャッシュさせない設定(掲示板など)をするとき、
<meta http-equiv="Pragma" content="no-cache">
みたいなやつでいけますか?
header("Cache-Control: no-cache, must-revalidate");
を書くのとどう違うのかよくわかりません
教えてください
0120nobodyさん
2011/03/22(火) 00:21:07.83ID:???<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
と同等
また下のは
header("Pragma: no-cache");
と同等
よって
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
あるいは
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
ようは両者は別物
この辺はhtmlヘッダの話なのでPHPは関係ない
ちなみに質問の最初の2行を見ると
掲示板をGETパラメータで操作するのではなく
静的なhtmlを吐くっていう意味と捉えられるので注意
0121120
2011/03/22(火) 00:36:17.00ID:???「上のは」って言ってるのは下のほうのことで
「また下のは」って言ってるのは上のほうのことね
逆だった
0122nobodyさん
2011/03/22(火) 06:28:24.63ID:8oP+/2xeaaaaa.php
<?php
require_once("*******/Smarty.class.php");
$smarty = new Smarty();
$smarty -> display("tmp_b/index.tpl");
$smarty -> assign("page","aaaaa");
?>
index.tpl
{include file="tmp_b/header.tpl"}
{include file="$page.tpl"}
{include file="tmp_b/footer.tpl"}
という風に書いてあります。
階層やパーミッションとは関係ないと思われます。
$pageの部分に各ページのHTMLが入るんですが、
そのHTMLの量が少ないと、ちゃんと表示されるんですが、
HTMLの量が多いと、そのpage部分全てが表示されなくなります。
何が原因なんでしょうか?教えてください。
0123nobodyさん
2011/03/22(火) 06:35:31.29ID:???0124nobodyさん
2011/03/22(火) 06:50:53.47ID:???aaaaa.php
<?php
require_once("*******/Smarty.class.php");
$smarty = new Smarty();
$smarty -> display("tmp_b/index.tpl");
$smarty -> assign("page","aaaaa");
?>
index.tpl
{include file="tmp_b/header.tpl"}
{include file="$page.tpl"}
{include file="tmp_b/footer.tpl"}
という風に書いてあります。
階層やパーミッションとは関係ないと思われます。
$pageの部分に各ページのHTMLが入るんですが、
そのHTMLの量が少ないと、ちゃんと表示されるんですが、
HTMLの量が多いと、そのpage部分全てが表示されなくなります。
何が原因なんでしょうか?教えてください。
0125nobodyさん
2011/03/22(火) 22:12:28.54ID:mmCJS+/mバイナリからいちいち確認するしかないですかね?
0126nobodyさん
2011/03/22(火) 22:32:17.46ID:???バイナリからいちいち確認するしかないですかね?
0127nobodyさん
2011/03/23(水) 02:33:11.47ID:yBezdspD写真をアップするとき、ファイルの形で保存して、その保存パス+ファイル名までの情報を
DBに登録する方法があると思います。
例えば、
カラム構造> id | comment | fileType | path
データ例 >123 | りんごです | jpg | /upfile/user1/gallery/xyz
このとき、ファイル名(xyz)はどういう風に決めたら良いでしょうか?
乱数でも何でも良いのはわかるんですが、自分としてはカラムのID123をファイル名の
一部にでも使って決めたいんです
その場合、クエリを2回に分けて、lastinsertidを使って入れるしかないでしょうか?
変にこだわりなんでしょうか。
画像ファイルのパスをDBに入れていく方法をとるとき、みなさんは乱数とかで名前決めてますか?
ファイル名の定義は賢いやり方があるんでしょうか?
0128nobodyさん
2011/03/23(水) 04:11:28.72ID:???0129nobodyさん
2011/03/23(水) 06:54:32.23ID:???クエリを二回に分ける意味が分からんが、普通にID名をタイムスタンプの頭につけた文字列にrenameしてから保存すればいいのでは。
0130nobodyさん
2011/03/23(水) 08:49:19.12ID:???<meta http-equiv="Pragma" content="no-cache">
header("Pragma: no-cache");
これは同等とも取れるし、まるで異なるともいえるよ。
>>119の最初の2行を見て静的なHTMLを出力するように見えるかっていうと
そうでもないし、何を注意すればよいのか。
0131nobodyさん
2011/03/23(水) 09:28:32.96ID:???idがオートインクリメントなら、直前に登録したidを出力する関数があるはず。
mysql_insert_idだったかな。それ使えばクエリ一度のみ、一発でいける。
0132nobodyさん
2011/03/23(水) 09:45:07.56ID:???SHOW TABLE STATUS WHERE Name = 'table'
カラム Auto_increment が次の値
0134。 ◆oDupeixhZv52
2011/03/23(水) 10:35:47.46ID:???ブラウザによる。キャッシュするサーバーなんかはタグなんか見ないんじゃないかと。
いろんなブラウザでテストしてよしとするか、ダミーのパラメータつけるとか。
>>127
自分の好きなようにやればいいが、ファイル名にIDいれてそのファイル名をDBに保存するのは賢くない。
0135nobodyさん
2011/03/23(水) 13:32:45.18ID:???0136nobodyさん
2011/03/23(水) 15:24:23.20ID:???簡単な検索エンジンを作ろうと思い、本のサンプルデータを改造しようと思ってデータを展開したところ、データベースへの接続がうまくいかなくなってしまったので質問させてください。
出ているエラーは次のとおりです。
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\PHP_Samples\samples\chapter15\15-5\link.php on line 207
タワツウ・ィ・鬘シ
このサンプルデータは外部ファイル(config.php)からデータベース名、ユーザー名、パスワードを取得しているらしく複雑です。
まず、cnfig.phpにて、
define("DBSV", "localhost");
define("DBNAME", "link");
define("DBUSER", "root"); // ユーザ名(要変更)※変更しました。
define("DBPASS", "secret"); // パスワード(要変更)※変更しました
このように設定します。
次にlink.phpにて
<?php require "config.php"; ?> でconfig.phpに接続したのち、
// =================================================
// ----- db接続
// =================================================
function db_conn() {
$conn = mysql_connect(DBSV, DBNAME, DBPASS) or die(mysql_error());
mysql_select_db(DBNAME, $conn);
return $conn;
}
このようにしてconfig.phpからデータベース名、ユーザー名、パスワードを取得しているようです。
そしてMySQLの方の設定でもlocalhost, root, secretの設定は行なっております。
ここでlink.phpにアクセスすると、上記のエラーが生じる状況です。まだ設定したりない部分があるのでしょうか?
ちなみに「PHPによるWebアプリケーションスーパーサンプル第2版」の15章のリンク集の項を使っています。
長くなってしまいましたが、どうかよろしくお願いします。
0137nobodyさん
2011/03/23(水) 15:27:46.83ID:???$conn = mysql_connect(DBSV, DBNAME, DBPASS) or die(mysql_error());
この行を指しています。
連レスになってしまいすみません。
0138nobodyさん
2011/03/23(水) 15:36:23.39ID:???0139>>1嫁
2011/03/23(水) 15:41:09.54ID:???検索エンジンを作るって検索システム構築の間違いだろ
そんな複雑なアルゴリズム組めるようなやつが質問するとは思えんしな
0140nobodyさん
2011/03/23(水) 15:44:48.92ID:???レスありがとうございます!
すみません、上記のコードを貼り間違えておりました。
正しくは>>138さんの指摘通り、
// =================================================
// ----- db接続
// =================================================
function db_conn() {
$conn = mysql_connect(DBSV, DBUSER, DBPASS) or die(mysql_error());
mysql_select_db(DBNAME, $conn);
return $conn;
}
こうでした。本当に申し訳ありません。
0141。 ◆oDupeixhZv52
2011/03/23(水) 16:05:08.42ID:???0142nobodyさん
2011/03/23(水) 19:15:30.35ID:???MySQLの設定(ユーザー追加、権限設定)はちゃんとやってあるの?
やり方は多分その本に書いてあると思うけど。
Access denied for user 'root'@'localhost' (using password: YES)
ってのは単純にそのユーザ名・パスワードで接続する権限が無いよ、って言ってるだけだからPHPの構文エラーじゃない
0143nobodyさん
2011/03/23(水) 19:17:24.83ID:???全然複雑ではありません。至極普通です。
0144nobodyさん
2011/03/23(水) 21:32:58.20ID:???ありがとうございます。どうやら権限の問題のようですが…どうすれば権限を設定できるのでしょうか?
新しくユーザーを登録するのか、特権から編集するのか…。まだ駆け出しなので詳しくはわからないので、ご教示いただけると助かるのですが…
0145nobodyさん
2011/03/23(水) 23:28:47.70ID:???すまん。
すまんが、知識人からみて解説を含めたレスをしてほしい。
俺は>>120が初心者とは思わないが、勘違いしている節があるように思える。
0146nobodyさん
2011/03/23(水) 23:33:38.08ID:???最初からIDE使ってると、なんかあったときに何も出来なくなるのと同じ
0147nobodyさん
2011/03/24(木) 00:23:44.10ID:???その本に書いてないのか?
mysqlクライアントにログインしてコマンドラインで操作設定してもよし
PHPMyAdmin使って設定するのもよし
これらの用語すらわからないなら、Mysqlの初心者本を見るかググってくれ
0148nobodyさん
2011/03/24(木) 00:33:14.64ID:???ブラウザは同じヘッダーを受信するしやってることは全く同じ
>これは同等とも取れるし、まるで異なるともいえるよ。
こんなツッコミじゃ何か言いたかっただけちゃうんかと初心者乙と思われても仕方ない
ブラウザにキャッシュさせないなら意味は通じるけど
掲示板などをキャッシュさせないという言い方だとサーバ側の話と勘違いされる
この場合毎回ログから静的html(キャッシュ)を生成してそこにアクセスするという方式ではなく
ログを動的に読み込んで表示したいと捉えかねないってことかな
まぁ全体をみてhttpヘッダーの話だなぁと分かるけどどのみちスレ違い
0149nobodyさん
2011/03/24(木) 01:05:39.64ID:???ありがとうございます。
http://www.dbonline.jp/phpmyadmin/user/index2.html
このページを参考に、rootアカウントにlinkデータベースのすべての権限を与えてみたのですが…うまくいきませんでした。
その他気になった点といえば、今までUTF-8でプログラムを書いていたのですが、このサンプルファイルはEUC-JPで書かれているということでしょうか…
エラー文の後に「タワツウ・ィ・鬘シ」と書かれているのですが、何か関係あるのでしょうか?
0150nobodyさん
2011/03/24(木) 01:14:06.84ID:???ID出さない質問者に熱くなる馬鹿ども
0151nobodyさん
2011/03/24(木) 01:55:59.77ID:???0152nobodyさん
2011/03/24(木) 02:12:23.62ID:???0153nobodyさん
2011/03/24(木) 10:08:34.08ID:???httpヘッダの実装なんてブラウザ依存なんだから
0154。 ◆oDupeixhZv52
2011/03/24(木) 11:14:34.99ID:???rootのlocalhostの権限を設定してあるか確認してみてください。
変な文字は EUCの 接続エラー という文字が化けたものです。
0155>>136
2011/03/24(木) 11:47:19.52ID:7Ll3gOeTありがとうございます!
phpmyadminにて「ユーザ 'root'@'localhost'」のグローバル特権には全てチェックがついており、リソースの制限はすべて解除(ゼロ)、
ログイン情報は ユーザ名:テキストフィールドの値:root ホスト:ローカル:localhost パスワード:テキストフィールドの値:secret
このように設定されています。
これでlocalhostの権限は設定されていることになっていると思うのですが、何か不備などあるのでしょうか?
いつまで経っても解決せずすみません…
0156nobodyさん
2011/03/24(木) 12:10:44.81ID:???0157nobodyさん
2011/03/24(木) 12:25:01.20ID:???http://jp.php.net/manual/ja/stream.streamwrapper.example-1.php
0158>>136
2011/03/24(木) 13:38:28.27ID:???'root'@'localhost' の特権を更新しました
REVOKE ALL PRIVILEGES ON `link` . * FROM 'root'@'localhost';
GRANT ALL PRIVILEGES ON `link` . * TO 'root'@'localhost' WITH GRANT OPTION ;
上記のようにphpmyadminにてデータベースに固有の特権を与えてみたのですが何も変化はありませんでした…
0160nobodyさん
2011/03/24(木) 14:33:53.34ID:???secretをパスワードとして設定したの?
それともphpmyadmin使ってないから判らんけど表示上secret(非表示)って意味?
0161>>136
2011/03/24(木) 15:00:10.50ID:???こんな簡単な問題もクリアできず情けないです。
>>158
ユーザroot、パスワードsecretというアカウントでいつもログインしています。
新しいデータベース、linkの権限をrootに追加しようとしているのですが、それもうまくいってないみたいです…
>>159
はい、secretをパスワードにしています。
0162nobodyさん
2011/03/25(金) 17:53:39.59ID:Li7RFmgk["count"]=>
int(30)
["value"]=>
array(7) {
["title"]=>
string(4) "test"
このtitleを取得するにはどうアクセスしたらいいのでしょうか?
0163nobodyさん
2011/03/25(金) 18:07:53.83ID:???0164nobodyさん
2011/03/25(金) 18:09:30.15ID:Li7RFmgkできました
ありがとうございます
0165nobodyさん
2011/03/25(金) 19:03:53.08ID:???phpを利用して、TOPページの内容が変化するサイトを作りました。
このTOPページを、毎日 .html で保存をするにはどうしたらよいのでしょうか?
毎回別名で保存し、名前がかぶらないようにしたいです。
保存したいのは、phpのコードではなく、表示された結果のHTMLです。
お願いします。
0167nobodyさん
2011/03/25(金) 20:18:15.45ID:???はい次
0168nobodyさん
2011/03/25(金) 20:28:06.32ID:???$html = file_get_contents ( "http://www.yahoo.co.jp" );
で、htmlを取得して
date()あたり使って絶対かぶらない名前にして保存する
0169165
2011/03/25(金) 20:41:00.78ID:???0171nobodyさん
2011/03/26(土) 00:47:14.12ID:???0172nobodyさん
2011/03/26(土) 01:03:27.53ID:???0173nobodyさん
2011/03/26(土) 01:21:21.62ID:???0174nobodyさん
2011/03/26(土) 06:49:04.84ID:???便利だもん。
0175nobodyさん
2011/03/26(土) 10:24:05.95ID:???0176nobodyさん
2011/03/26(土) 11:29:29.22ID:???悪いことをするつもりはありませんがw wikileaksのハッカーに興味をもっております
彼らは、どうやってするのでしょうか?非常に興味があります。よろしくお願いします。すいません。マルチします。
0177nobodyさん
2011/03/26(土) 11:42:57.23ID:???0180nobodyさん
2011/03/26(土) 20:45:52.79ID:???0182l
2011/03/26(土) 22:01:36.41ID:1s9TWIqIそれすら見つけられない奴には教えても無駄
そういうのを見つけられる、見つけるのが楽しい奴じゃないとな
お前には素質がない
0183nobodyさん
2011/03/27(日) 01:39:37.48ID:???0184nobodyさん
2011/03/27(日) 03:00:31.86ID:???0186nobodyさん
2011/03/27(日) 12:27:50.82ID:???他力本願なのは見つけるとは言わない
0187nobodyさん
2011/03/27(日) 12:46:30.86ID:eVWvVwuN0188nobodyさん
2011/03/27(日) 13:15:29.99ID:???0189nobodyさん
2011/03/27(日) 13:19:18.72ID:???質問する側は知らんけど
0190nobodyさん
2011/03/27(日) 15:49:44.78ID:g9B42EJL0192nobodyさん
2011/03/27(日) 15:56:20.54ID:???基本的にはね
もちろん最初のデータベース接続の設定方法が異なるけど
あとはデータベース固有の定数なんかが用意されてたりするけど
そういう固有のものを使わなければ問題ない
0193nobodyさん
2011/03/27(日) 16:22:03.59ID:qy9/iTdT> Facebookの友だち検索で、スカイプSkypeネームとSkypeのパスワードを入力して
> コンタクトリストを取得している機能があります。
> これはどのように実装しているか教えてください。
> (使用言語やapi,ライブラリなど)
> もちろん予想になると思いますが
誰かこの質問わかります?
回答があまりつかない。。。
0194nobodyさん
2011/03/27(日) 16:41:15.05ID:???APIならGetFriendlist で取得
http://forum.skype.com/index.php?showtopic=41342
大概のどの言語でも可能です。
0196nobodyさん
2011/03/27(日) 18:48:22.38ID:???0197nobodyさん
2011/03/27(日) 19:04:41.19ID:qy9/iTdTWindowsはdllインストールしたらいけるらしいけど、
Linux+PHPでも実装可能なの?
http://talpa-tech.com/titles/4-903408-01-9/browsebook
どうなんだろね。
こっちには書いてないけど、さくらインターネットが何とかかんとかなんでしょ?
0199nobodyさん
2011/03/27(日) 19:24:29.97ID:qy9/iTdTありがとうございます。
そうです。さくらインターネットでやる予定です。
これによると、LinuxはCかPythonでAPI叩けるということかな?
だとすると、CかPythonで作ったプログラムを、PHPから起動したらいけそうですね。
ちょっと詳しく読んでみます。
0200nobodyさん
2011/03/27(日) 22:11:46.25ID:9+a3qRqASetEnvしたら$_SERVERに入ってきた
0201nobodyさん
2011/03/27(日) 22:24:19.03ID:???■ このスレッドは過去ログ倉庫に格納されています