くだすれPHP(超初心者用)4
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2008/06/13(金) 20:32:36ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
http://jp.php.net/
前スレ: くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
0895nobodyさん
2008/11/18(火) 13:13:57ID:???0896nobodyさん
2008/11/18(火) 14:27:45ID:VeQnY2gNを作ってます。チェックを入れるとsession_set_cookie_paramsを
1年に設定してるんですが一度ブラウザを閉じるとセッションも切れてしまいます・・・
下に簡単なソースを載せますので
すいませんがアドバイスよろしくお願いします。
login1.php
<?
session_set_cookie_params(365*24*3600);
session_start();
$_SESSION["name"] = "こんにちは";
echo "セット";
echo "<a href=\"login2.php\">移動</a>";
?>
login2.php
<?
session_start();
echo $_SESSION["name"];
?>
0897nobodyさん
2008/11/18(火) 16:17:38ID:???firefox?
0898896
2008/11/18(火) 16:33:43ID:???返答ありがとうございます。
環境はIE7、Firefoxです。
最初にlogin1.phpにアクセスし
セッションを設定して移動をクリックすると
login2.php にもセッションが引き継がれるんですが
その後ブラウザを閉じ次にlogin2.phpにダイレクトにアクセスすると
$_SESSION["name"] = "こんにちは";が表示されず
真っ白になります・・・
0899nobodyさん
2008/11/18(火) 17:09:56ID:???クッキーの有効期限はsetcookieで設定した方がいいぜ
session_startする前に実は開始してて、有効期限の上書きが出来ないことがあるから
0900nobodyさん
2008/11/18(火) 17:36:13ID:s+xeZpDT変数$strをintにキャストしたいのです。
ご教授お願いします。
$str = "ST012300";
$str = (int)$str;
$num = 100;
$num += $str;
echo $num; ←ここで出力
0901nobodyさん
2008/11/18(火) 17:57:13ID:???0902nobodyさん
2008/11/18(火) 18:34:52ID:???適当に書いたがこんな感じか?
function toInt($string) {
$temp = "";
for ($i = 0; $i < strlen($string); $i++) {
if (preg_match("/[0-9]/", $string[$i])) {
$temp .= $string[$i];
}
}
return (int)$temp;
}
0904nobodyさん
2008/11/18(火) 18:53:16ID:???1文字ずつ分解するのが無難なやり方でないかと
preg_match_allが俺の環境じゃ使えないから使わなかっただけというのもあるけど
preg_matchだけでくり抜ける?
例に出てるST012300なら簡単だけど
o89WE342hEU44とか2バイト文字が入ってきたりすると
俺のレベルじゃ1回の正規表現で抜き取れない
0905896
2008/11/18(火) 18:54:44ID:???session_startする前に開始している時もあるんですね。
アドバイスいただいたやり方で一度やってみます。
ありがとうございました!
0906nobodyさん
2008/11/18(火) 18:54:48ID:???飛び飛びの数字くっつけて1つの数字にすることに意味があるのか?
0907nobodyさん
2008/11/18(火) 18:56:46ID:???あと引数に配列渡された場合どうすんのとか
0908nobodyさん
2008/11/18(火) 19:15:25ID:???is_numericでもいいけどpreg_matchでもいいじゃん
>>903の突っ込みはpreg_match使うなら1回で抜けってことではないの?
その方法が思いつかなかったから聞いてるんだけども
>あと引数に配列渡された場合どうすんのとか
それは配列用のを別に作るべきでしょ
PHPじゃオーバロードできないけど
0909nobodyさん
2008/11/18(火) 19:20:22ID:???0910nobodyさん
2008/11/18(火) 19:26:49ID:???逆に言うと正規表現がわからないと混乱するだけ。
0911nobodyさん
2008/11/18(火) 19:34:38ID:???普段よく使うから使っただけだよ
is_numericなんて使ったことなかったし
まぁ気になったんで
>>902で書いた関数で文字列に適当なwebサイトをfile_get_contentsしたものを使って
is_numericとpreg_matchの比較ベンチとってみたけど
is_numericのほうが早いね
速度面では特に利点はないみたいだ
ただ>>910もいってる通りうまく使える人なら1行でスッキリと1回で抜けると思う
オーダなんかは1文字ずつ比較するのとたぶん変わらないと思うけど
0912nobodyさん
2008/11/18(火) 20:47:26ID:???という前提があるなら、漏れなら、
ereg( '(\d+)', $str, $regs );
echo $regs[1];
と書く。
0913nobodyさん
2008/11/18(火) 20:52:15ID:???文頭がアルファベットか?文字数が8文字か?数字が0〜3までか?
数値が連続してるなんて前提ねーよw
0915nobodyさん
2008/11/18(火) 20:56:46ID:???0916nobodyさん
2008/11/18(火) 20:57:31ID:???0917nobodyさん
2008/11/18(火) 21:48:50ID:/cO8JIvuPHPからDB2に接続するにはどうしたらいんですか?
MySQLからDB2に移行したいんです!何か特別な設定とかいります?
カタログ接続とかの意味がよく分からないです^^;
0918nobodyさん
2008/11/18(火) 21:57:01ID:???0922nobodyさん
2008/11/18(火) 23:49:32ID:???$file ='test.html';
$fp = fopen($file,"w");
$str = array('aaa\n','bbb\n');
file_put_contents($file, $str );
fclose($fp);
?>
複数行の書き込みをしたいのですが、これだとできません。
教えて下さい。
0923nobodyさん
2008/11/18(火) 23:51:48ID:???0924nobodyさん
2008/11/18(火) 23:54:15ID:???0926nobodyさん
2008/11/19(水) 01:53:56ID:???$pass1 = $_POST["pass"];
if($pass1=="●●"){
$sql = "delete from object where id = $id";
mysql_query($sql);
echo "削除されました";
exit;
}
●●の部分をMySQLに格納しているパスワードに
したい場合はどうすればいいのでしょうか?
MySQL側の質問になってしまうかもしれませんがお願いします。
0927nobodyさん
2008/11/19(水) 02:16:00ID:???"のエスケープをせずに済む方法ってありますか?
大量のhtmlタグをprintするのが大変なのでそのような関数があれば
教えていただきたいです。
0929nobodyさん
2008/11/19(水) 02:22:59ID:???0933nobodyさん
2008/11/19(水) 09:43:10ID:???ご存じなかたがいらっしゃったら教えていただけると幸いです
自作のスクリプトをばらまこうと思ってるのですが
ファイル構成やパーミッションまわりが複雑だったりするので
インストールウィザードをつけたいと考えてます
自己解凍形式みたいに
フォルダやパーミッションや簡単な設定項目(置換)を指定すると
そのとおりに設定して展開してくれるようなスクリプトはありますでしょうか?
なければ作ろうかと思うのですが
需要ありますでしょうか?
一通り探したつもりですが見つかりませんでした
よろしくお願いします
0934nobodyさん
2008/11/19(水) 10:15:16ID:???パーミッションってことはOSX含めたUnix系OSだよね?
RPMパッケージでも作ればいいんじゃない?
というか展開したファイルのパーミッションを変えるスクリプト1つ置くだけでいいのでは?
複雑な設定項目とかはインストール後に管理スクリプトからやればいいだけだし
そもそもサーバでそんなもの展開してインストールするようなのは自鯖か専鯖持ちぐらいでしょ
ターゲットの範囲が狭すぎてそのためにわざわざ凝った作り考えるのもあほくさいわ
0935933
2008/11/19(水) 10:58:08ID:???レスありがとうございます
移動中の携帯からの投稿だったため情報が足りませんでした
ここでいうスクリプトはPHPのスクリプトで
ターゲットはLinux+レン鯖を考えています
処理の流れ的には
1.自己解凍PHPにWEB経由でアクセス
2.DIRパスやそのスクリプトの起動に最低限必要な定数を設定
3.指定DIRに展開
4.自分自身を削除(オプション)+そのスクリプトの設定画面へリダイレクト(あれば)
単一ファイルにまとめたかったのは
・配布しやすそう?
・WEB公開DIRに必要ないファイル(incとか)を置きたくない
(必要ないファイルの置き場所は自由なため、公開DIRからの相対パス指定は難しい)
確かにインストールスクリプトを一個用意しておけばいい気もしますね・・・
0936nobodyさん
2008/11/19(水) 13:10:11ID:???作ったあとに需要あれば使って下さいの方がいいと思うよ。
ぞれより自己解凍PHPってのがなんなのか気になる
0937nobodyさん
2008/11/19(水) 13:22:48ID:???if($msg)ってやったらfalseでした。
それとも$msgってなまえの変数は有っても中身がない場合はfalse?
0938nobodyさん
2008/11/19(水) 13:27:45ID:???0939933
2008/11/19(水) 14:03:57ID:???確かに
作ってみます
ありがとうございます
自己解凍PHPとか言ってますが
単純に自身のPHPにファイルやらディレクトリ構成を埋め込んでるだけです
アクセスすると入力域が現れて・・・てな感じです
0940nobodyさん
2008/11/19(水) 14:29:26ID:???> アクセスすると入力域が現れて・・・てな感じです
それが気になる。ウェブ上からインストールできるってこと?
0941nobodyさん
2008/11/19(水) 14:53:34ID:???なんで初心者なのに用語を自作するのか
0942nobodyさん
2008/11/19(水) 15:21:15ID:???以外の物を調べるにはどうしたらいいですか?
具体的にはJIS補助漢字・第三・第四水準漢字や台湾、中国語などには
エラーと表示させたいです。
0943nobodyさん
2008/11/19(水) 15:29:40ID:???ttp://euc.jp/i18n/charcode.ja.html
どの文字コードを使うかによって変わると思うけど
こういったとこで範囲しらべて正規表現でチェックするといいかも?
ここも参考
ttp://www.phppro.jp/phptips/archives/vol9/1
0945933
2008/11/19(水) 16:07:24ID:???はい、そのとおりです
適当な公開ディレクトリにファイルを一個ぽいっとおいて
アクセスしてWEB上でパスの設定などをしてsubmitすると
設定に基づいて展開したりシンボリックリンクを作ったり文字コード変えたり設定情報を書き込んだりします
>>941
申し訳ない
PHPで自己解凍みたいのできたらいいなイメージから思いついたので・・・
今動いているのは圧縮してないですが、あとでgzipをかけたいと考えています
低機能なインストールスクリプトと思ってください
最低限の設定を行ってさらに設定が必要なら(データベース作るとか)それぞれの設定WEBにリダイレクトします
既存のインストールスクリプトと違うところは
・ファイルひとつだけでOK
・複数台のサーバ配布に対応(scpばらまき)・・・予定(作成中)
結局のところ展開してアップすればええやんって気もしてきましたorz
0946933
2008/11/19(水) 16:29:07ID:???ちょっと機能は違いますがコンセプトは似ているような気がします
ttp://labs.cybozu.co.jp/blog/kazuho/archives/2008/11/post_3.php
0948nobodyさん
2008/11/20(木) 03:17:06ID:???mb_convert_encodingを使う方法ってありますか?
0949nobodyさん
2008/11/20(木) 03:17:23ID:???0951nobodyさん
2008/11/20(木) 04:28:16ID:???取得したいのですが、
time()は引数がないのでどうしたらいいですか?
0952nobodyさん
2008/11/20(木) 04:31:17ID:???filemtimeかstat
0954nobodyさん
2008/11/20(木) 05:24:16ID:???削除するにはどうしたらいいのでしょうか。
0955nobodyさん
2008/11/20(木) 07:43:03ID:???0956nobodyさん
2008/11/20(木) 07:54:07ID:???0957nobodyさん
2008/11/20(木) 14:54:48ID:???sample(9)
sample(241)
sample(3234)
などの複数行のファイルでカッコ内の数字が一ケタの場合
その行を削除したいのですが、
$search="/.+\([0-9]\)/";
$log = eregi_replace($search,"",$log);
これだとできません。教えて下さい。
0958nobodyさん
2008/11/20(木) 15:21:21ID:???こうかな
0960nobodyさん
2008/11/20(木) 17:16:11ID:???0961nobodyさん
2008/11/20(木) 17:17:34ID:???0963nobodyさん
2008/11/21(金) 04:12:35ID:???$logArray = explode("\n",$log);
for($i=0;$i<=count($logArray);$i++)
{
$dat[$i] = substr($logArray[$i],0,10);
print $dat[$i].'<BR>';
}
結果はちゃんとprintされているんですが、
Notice: Undefined offset: 80 C:\Program Files(略) on line 24
っていうのがでるんです。
24行目は$dat[$i] = substr($logArray[$i],0,10);です
0964nobodyさん
2008/11/21(金) 05:54:07ID:???↓
$logArray = @explode("\n",$log);
0965nobodyさん
2008/11/21(金) 07:11:18ID:???ループ条件はこうちゃいますのん?
0966nobodyさん
2008/11/21(金) 07:17:08ID:???大域(forの外)で$datは宣言されてるの?
$dat = array();
あとループ条件は>>965
ちなみにエラーが出たラインの1行前(つまり23行目)に原因がある場合があるから
付近のソースを出すのが望ましい
0967nobodyさん
2008/11/21(金) 07:19:59ID:???print $dat[$i].'<BR>';
というかfor文の外で$dat使わないなら
echo substr($logArray[$i], 0, 10);
でいいのでは?
それとも他の部分でも使ってるのかな?
0973nobodyさん
2008/11/21(金) 09:24:31ID:???うち規制中だった
0975nobodyさん
2008/11/21(金) 19:35:00ID:???0976nobodyさん
2008/11/21(金) 22:09:32ID:???ウチが使ってるレンタルサーバーが
>CGI版をラッパーを使用し
>所有者の権限にて動作させる
>一部の動作で、モジュール版と
>挙動が違う可能性があります。
っていう方式なんだが、これってどういうこと?
0977nobodyさん
2008/11/21(金) 23:07:45ID:???http://www.google.com/search?num=50&hl=ja&safe=off&q=PHP+CGI+%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB+%E9%81%95%E3%81%84&lr=lang_ja
0978nobodyさん
2008/11/22(土) 01:09:16ID:3EI7zmLa以前からHTMLでサイトを作っていたのですが、どうしても静的なものしかできずに
ただ見てもらうだけのサイトしか作れません。
なので、サイト訪問者にデータを追加してもらったりデータの閲覧ができたりと
もっと双方向での情報交換ができるサイトを作りたいと思ってます。
なのでPHPを勉強しようと思っているのですが、今私が目指しているところは
PHPを勉強するという道で間違ってはいないでしょうか?
そして、PHPを勉強するにあたって、わかりやすいお勧めの本やサイトがあったら教えてください。
知識としてはHTMLで見せるだけの簡単なサイトを作れる程度です。
どこから勉強すればいいのかわからないのですが、PHPに入るときに読む本、
PHPを実用的に使えるような本があったら教えてください。
お詳しい先生方、ぜひよろしくお願いいたします。
0979nobodyさん
2008/11/22(土) 01:16:08ID:???先生でも何でもないけど、PHPマニュアルに勝る良書は無いかと。
http://www.php.net/manual/ja/
PHPは「いかに楽してウェブシステムを作るか?」っていう言語だと俺は思う。
それで良いなら選べば良いしそれが嫌なら他の言語を選ぶといいかなと。
勉強については、まずHTMLの<form>タグの概念が分かってないならそれからまず勉強。
あとは自分が作りたいと思うもの(例えば掲示板)のPHPスクリプトソースをネットから拾ってきて、
それを少し改造してみるとかね。
PHPって良い意味でも悪い意味でも適当な言語なので、多分何とかなると思う。
0980nobodyさん
2008/11/22(土) 01:22:31ID:???目的のものを達成するPHPのフリーソフトにPukiWikiやXOOPSなんていうものがあったりする
自分で作るより手っ取り早いのはそれらをインストールして利用すること
PHPは公式マニュアルが充実しているのでそれを読むのがお勧め
http://jp.php.net/manual/ja/index.php
また入門本として
PHP4徹底攻略(通称:赤マンモス本)がpdfで無料公開されている
http://www.sra.co.jp/people/t-ishii/php_new/php4_new.html
現時点のPHPの最新版はPHP5でもうじき6が出るので
少し情報は古いがどんなものかをつかむには最適な本なので
無料ということもあるのでちょっとかじる程度に読んでみてはいかがだろうか?
0983nobodyさん
2008/11/22(土) 02:03:21ID:???http://www.google.co.jp/trends?q=php%2Cruby%2Cperl%2Cpython
phpを選択したことは正解です。
0984nobodyさん
2008/11/22(土) 02:16:26ID:???いきなり実行環境を作るより
プログラミングの基礎と概念を理解する方が先だろう。
何でもかんでも手を動かしてやりゃいいってもんじゃない
0985nobodyさん
2008/11/22(土) 02:20:06ID:lJIGiW+20987nobodyさん
2008/11/22(土) 02:31:54ID:???みたいなもんばっかだろう
0988nobodyさん
2008/11/22(土) 03:24:41ID:???PHPを使えばいい場合勉強するにあたってお勧めの本やサイトを教えてくれと聞いてるわけだ
0989nobodyさん
2008/11/22(土) 03:25:53ID:???0990nobodyさん
2008/11/22(土) 03:54:53ID:???0991nobodyさん
2008/11/22(土) 04:04:23ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。