くだすれPHP(超初心者用)3
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/10/25(木) 16:04:31ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
http://jp.php.net/
---前スレのテンプレここまで---
前スレ: くだすれPHP(超初心者用)2
http://pc11.2ch.net/test/read.cgi/php/1164617202/
適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
△▲ WebProg 初心者の質問 Part16 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1187729623/
完走したら、雑談スレで待機でどうでしょう
【総合】 Webprog板質問雑談スレッド 1
http://pc11.2ch.net/test/read.cgi/php/1131016915/
0619nobodyさん
2008/03/22(土) 18:41:58ID:???つか自作のレベルの話だ
0620nobodyさん
2008/03/22(土) 18:46:08ID:???そんな感じなんですがbase64より圧縮率の高い方式です
>>619
汎用性あるが技術的難易度高いと思ってます。
0622nobodyさん
2008/03/22(土) 18:50:00ID:???>>619さんのいうとおりでした。
0624nobodyさん
2008/03/22(土) 19:46:50ID:???どういう風に出してるかはしらないけどハッシュ値には違いない
0625617
2008/03/22(土) 20:13:30ID:???0626nobodyさん
2008/03/22(土) 20:43:44ID:???0627nobodyさん
2008/03/22(土) 20:52:18ID:???頭大丈夫か?
0628nobodyさん
2008/03/22(土) 21:28:40ID:???youtubeのハッシュの仕様は知らんけど(26+26+10)^11 = 5.2E19通り
頭大丈夫か?
0630nobodyさん
2008/03/22(土) 21:37:47ID:???0631nobodyさん
2008/03/22(土) 21:46:43ID:???0632nobodyさん
2008/03/26(水) 16:33:53ID:???ニコニコ動画なんですが、Cookieを削除して、PCを再起動してもログイン状態が保持されています。
ブラウザを閉じているからセッションでもないし、Cookieでもないとなると、
どういう方法でクライアントを識別しているのでしょうか?
0633nobodyさん
2008/03/26(水) 17:19:04ID:???クッキー削除しきれてないんじゃね?
ニコ動の事詳しく調べてないからあれだけど
ほかに方法といったら
たぶんやらないと思うが
IP,ブラウザの一致とかぐらいだろうし
0635nobodyさん
2008/03/26(水) 18:16:10ID:???ログイン状態が残ったのはクッキーが削除できてなかっただけ
0636nobodyさん
2008/03/28(金) 16:03:50ID:???test.html から test.php にフォームからPOSTで値を渡して
スーパーグローバル変数$_POST["xxx"]で値を受け取るという動作がなぜか出来ません・・・
エラーも吐かずに遷移したページが空白で開きます
php.iniの設定にスーパーグローバル変数のオン、オフを切り替える設定があるのでしょうか?
どこをいじれば良いのか詰まってしまいました
0637nobodyさん
2008/03/28(金) 16:06:29ID:???0638nobodyさん
2008/03/28(金) 16:07:23ID:???variables_order
0639nobodyさん
2008/03/28(金) 16:13:15ID:???レスありがとうございます
何かの具合でphp.iniをいじらずに解決してしまいましたが
variables_orderについてちょっと勉強しようと思いますm(_ _)m
0640nobodyさん
2008/04/10(木) 13:40:02ID:IwYW1Fis今日の日付を得て、日曜日(もしくは月曜日)始めで一週間とした場合の、
その週の頭の日付を得るという感じのことはできますか?
例えば今日だったら4月10日ですので、その週の頭の日曜日は4月6日で
「20080406」というように出力する感じです。
また今月の4月3日の場合は「20080330」で値を出力したいんですが。
よろしくお願いします。
0641640
2008/04/10(木) 14:02:15ID:???<?php
$week_head_date = date("Ymd") - date("w");
print $week_head_date;
?>
でできました。
0642640
2008/04/10(木) 14:54:01ID:???641に書いた記述で月をまたぐ場合もOKなのでしょうか?
上記記述で640に書いた
>4月3日の場合は「20080330」で値を出力したい
が実現できるかどうか教えていただければ幸いです。
0643nobodyさん
2008/04/10(木) 15:10:08ID:???0645nobodyさん
2008/04/12(土) 12:53:46ID:4H+Fs9R30646nobodyさん
2008/04/12(土) 13:54:57ID:???0648nobodyさん
2008/04/12(土) 15:01:22ID:MYUBBi8Aエスケープ処理とSQLインジェクション対策について良く理解できていないのですが、
現在php.iniのmagic_quotes_gpcがonになっていてエスケープ処理が行われます。
これによりフォーム入力されたデータに\が付いているのですが、そもそもこのエスケープ処理
は、DBに\が付いたまま書き込ませるためにあるのでしょうか?
stripcslashes関数などで\を除去してから書き込んだら意味がないのでしょうか??
よろしくお願いします。
0649nobodyさん
2008/04/12(土) 15:30:42ID:???0650nobodyさん
2008/04/12(土) 18:39:37ID:4d6dvCtNapache2.2.4
PHP 5.2.3
ArGOsoft
OS windows xp
という環境です。
IMAPを使ってメールを送るというのは分かってきましたがモジュールの追加が出来ないようです
php.iniよりextention=php_IMAP.dllの「;」も外し、apacheも再起動しましたが
get_extension_funcs("imap");で使えるか調べるとダメみたいです
なにが足りないのでしょうか?
0651nobodyさん
2008/04/12(土) 19:13:39ID:???0652名無しさん@アイコンいっぱい。
2008/04/12(土) 19:25:23ID:QH24pWr1http://kakitarou.com/url/files/accel.html
0653650
2008/04/12(土) 19:47:17ID:???やってみましたがmb_send_mailの前に
mb_language("Japanese");を入れているのですが、mb_languageですでにコケてます・・・
0654nobodyさん
2008/04/13(日) 08:42:00ID:???それならmailで、日本語は自分でエンコードする。
0655nobodyさん
2008/04/14(月) 18:50:19ID:zmu1J1y2つけなかったため質問させてください (使っている PHPのバージョンは 5.2.5 です)
画像ファイルのデータサイズを取得、3桁区切りさせたくて以下のように書いて成功しました
掲示板PHPスクリプト内で ― (α)
$sizeorg = filesize($img)
$size = number_format($sizeorg)
HTMLテンプレート側に
{$size}
ですが、(α)の書き方をもう少しスマートに、雰囲気的には
$size = number_format(filesize($img))
のようにまとめたく、参考になりそうな情報を教えていただければありがたいのですが
どうぞよろしくお願いいたします
0656nobodyさん
2008/04/14(月) 19:44:26ID:???0657nobodyさん
2008/04/14(月) 19:45:30ID:???俺の場合number_formatを修飾子にしちゃってる(結構常識?)
$smarty->register_modifier("number_format","number_format");
で
{$sizeorg|number_format}
が俺的にはスマート
表示の問題をテンプレートで完結できるからね
0658nobodyさん
2008/04/14(月) 19:46:42ID:???0659655
2008/04/14(月) 22:17:10ID:xlgR9yhaそのようにやってみたのですがエラーを吐いてしまいまして先の質問のように書いたのですが、
もう一度試しましたらエラーなく出力させることができました
# mistipo でもしていたのでしょうか…orz
>>657
自分の場合のテンプレートは画像掲示板のために用意されている HTML になります
何はともあれ、教えていただいた方法も面白そうですので勉強のため試してみたいと思います
>>658の方も含めて早々にご回答いただきまして、みなさんありがとうございました!
0660655
2008/04/14(月) 22:19:17ID:???×mistipo ってなんなんだ…
○typo : タイプミス
最後まで失礼しました…○...| ̄|_
0661nobodyさん
2008/04/18(金) 14:50:28ID:???pear upgrade -f -o http://pear.php.net/get/PEAR-1.3.6.tgz
downloading PEAR-1.3.6.tgz ...
Starting to download PEAR-1.3.6.tgz (106,880 bytes)
.........done: 106,880 bytes
HTTP error, got response: HTTP/1.1 410 Gone
Didn't receive 200 OK from remote server. (HTTP/1.1 410 Gone)
なぜ??変なレスポンスヘッダかえってくる??
0662nobodyさん
2008/04/18(金) 14:55:40ID:???本家どおりの手順でいけますた・・
pear upgrade --force http://pear.php.net/get/Archive_Tar http://pear.php.net/get/XML_Parser http://pear.php.net/get/Console_Getopt-1.2.2
pear upgrade --force http://pear.php.net/get/PEAR-1.3.3 (_IF_ your existing version is older than 1.3.3)
pear upgrade --force http://pear.php.net/get/PEAR-1.4.3.tar
pear upgrade PEAR
0663nobodyさん
2008/04/19(土) 10:31:27ID:???0664nobodyさん
2008/04/19(土) 10:38:34ID:???0665nobodyさん
2008/04/19(土) 17:43:29ID:???Fatal error: Class 'XSLTProcessor' not found in 場所
と出力されてしまいます。(クラスが見つからないということですよね。
これはどう足掻いてもXSLは使えないということなのでしょうか。
もし解決策があれば教えてください。
PHPのバージョンは5.2.3、phpinfo()のConfigure Commandの中で「xsl」を含むものは、
'--with-xslt-sablot'と'--enable-xslt'です。
それ以外にxslを含むところはありませんでした。
よろしくお願いします。
0666nobodyさん
2008/04/19(土) 19:36:06ID:???>PHP 5には、デフォルトでXSLエクステンションが含まれており、 configureに引数--with-xsl[=DIR] を追加することにより有効にすることができます。
>DIR は libxslt をインストールしたディレクトリです。
?
0667665
2008/04/19(土) 20:22:57ID:???ありがとうございます、それについて詳しく調べていたら、
「configureに引数--with-xsl[=DIR] を追加すること」
は管理者でないとできないようなことが分かったので、メールしてみることにします。
ありがとうございました。
0668nobodyさん
2008/04/20(日) 00:58:45ID:eoYRqpAsより移動してきました(向こうでの質問は打ちきっています)。
[やりたいこと]
UTF-8のローマ数字「D」をeucJP-winに変換したい。
[やったこと]
mb_convert_encodingを使い、EUC-JPのエンコードにてHTMLタグと一緒にprintする、具体的には:
print "<td>".htmlspecialchars(mb_convert_encoding("D", "eucJP-win", "UTF-8") )."</td>";
を行う
[現状]
該当部分の出力が「場・/td>」となり、意図した表示になりません。
[その他]
http://pc11.2ch.net/test/read.cgi/hp/1205922529/197
によれば、
>EUCでのDは0xFCF5。
>が、
>mb_convert_encoding("D", "eucJP-win", "UTF-8");
>を通すと0xF3F7が返ってくる。
ということで、このままのやり方ではでは埓が開きそうもありません。
なにかいい方法はありますでしょうか。
0669nobodyさん
2008/04/20(日) 02:34:41ID:???一部だけ文字コードを変えるってことは変換したvは文字化けした状態で表示される。
文字化けした文字によっては次の文字の一部を一つの文字とみなされ、「場・/td>」みたいなことになる。
意図した表示って、どんな結果を求めているのかを具体的に書けって。
0670nobodyさん
2008/04/20(日) 02:57:03ID:???0671nobodyさん
2008/04/20(日) 02:59:53ID:???print "<td>\xFC\xF5</td>" と等価な状態にしたいんだけど
そうならないのでどうしたもんですかね、という質問なんでしょう。
確かに 0xFCF5 にならんね。
0672nobodyさん
2008/04/20(日) 11:24:19ID:???いや、そんな質問じゃないでしょう。
そんな表示を期待してるとしたらちょっと頭おかしいんじゃないですか?
文字化けって言葉を聞いたことくらいあるでしょうし。
0673187
2008/04/20(日) 11:41:36ID:aetxNfgk「D」と表示したいのに「場・/td>」となる、ということです。
>671
そうなんです。あれから再びネットでも調べているんですが、
どうにもわかりません。
>672
すみませんが、お返事の内容がよく分かりません。
0674187
2008/04/20(日) 12:01:37ID:???先ほど、こちらに移動する前のスレッドに、移動後に書き込まれていた方法を
試したところ、意図した結果で表示することができました。
(具体的には、PHP側でeucJP-winに変換せず、UTF-8のままレスポンスし、
デコードはブラウザーに任せる)
なので、今回の質問は、これにて終了させていただきます。
お答えいただいた皆様、ありがとうございました。
0675nobodyさん
2008/04/20(日) 12:10:35ID:nhn/o6zf以下のようなスクリプトを作り、dbAccessでSQLiteと接続し、
dbCloseで切断するようにしたのですが、「sqlite_close() expects parameter 1 to be resource, n・・・」
というエラーがでてうまく切断できません。
どのような原因かわかりますでしょうか?
dbAccess内にsqlite_close()を入れた場合はエラーは吐きませんでした。
function dbAccess() {
$con = sqlite_open("DB/database");
}
function dbClose() {
global $con;
sqlite_close($con);
}
0676nobodyさん
2008/04/20(日) 12:28:21ID:???global $con;
$con = sqlite_open("DB/database");
}
0677nobodyさん
2008/04/20(日) 12:29:03ID:???どのような原因って、エラーくらいちゃんと読もうな。
あと検索ってことも知ってるか?
そのエラー文をそのままググったらええのに。
0679nobodyさん
2008/04/20(日) 12:39:54ID:???dbAccessとdbCloseの両方でglobal指定をしなければいけなかったのですね。
ありがとうございました。
0680nobodyさん
2008/04/20(日) 13:03:57ID:sof1Taefあてはまるものすべてを置換するんじゃなく、一番初めにマッチしたものだけを置換したいんです。
どういう関数を使えばいいのでしょうか?
0681nobodyさん
2008/04/20(日) 13:10:28ID:???limitに1を渡す。
0683nobodyさん
2008/04/20(日) 14:30:32ID:???それぞれの文字コード中に存在しない文字に変換しようというなら妙な話だけど、
Dなどの小文字のローマ数字は、EUC(JIS X 0213)でも存在している。
nkfやブラウザでは問題無く相互変換出来るしね。
それらを前提として、phpでは変換出来ないの?というのが質問の主旨だろ。
回答としては、現状はmbstringでは未対応のようなので、
手動でやるかnkfなどを使って変換。
文字化け=当然発生するものだから仕方無いと思考停止するのは良くないね。
0685671
2008/04/20(日) 17:12:35ID:???<?php
// ソースは UTF-8 で記述
header('Content-Type: text/plain; charset=EUC-JP');
echo "<td>\xFC\xF5</td>\n";
echo '<td>' . mb_convert_encoding('D', 'eucJP-win', 'UTF-8') . "</td>\n";
?>
同じ表示が2行続くことを期待するのは別におかしくないと思いますよ。
0686nobodyさん
2008/04/20(日) 19:45:50ID:QNOTdt2p0687663
2008/04/21(月) 10:29:11ID:???ありがとうございます。
最近、PHPを学習して会社のサイトをPHP化しているのですが、気が付くと
セッション変数に頼りすぎてて心配になってました。
0688nobodyさん
2008/04/21(月) 23:07:39ID:e+YqWj3Yphpに、Cの同じファイルからしか呼び出せなくなる
static関数の機能はあるでしょうか。
あるなら、どのように記述したらいいのでしょうか。
0689nobodyさん
2008/04/21(月) 23:19:09ID:???クラスのメソッドってことならあるけど、関数はグローバルになってしまう。
関数内で制御したらそれっぽくできなくもない。
0690nobodyさん
2008/04/22(火) 00:15:18ID:1qEh3co+クッキーなしで、アドレス部分に表示もしないで
セッション回したいのです。
0691nobodyさん
2008/04/22(火) 03:31:03ID:???0693nobodyさん
2008/04/23(水) 01:27:04ID:???0694nobodyさん
2008/04/23(水) 05:50:16ID:???ttp://が含まれた場合オートリンクする形に変えたいのですが
どのようにすればいいでしょうか?
0695nobodyさん
2008/04/23(水) 07:10:56ID:???0696nobodyさん
2008/04/23(水) 09:11:55ID:???すいません、その定義関数の中身はこちらです。
0697nobodyさん
2008/04/23(水) 09:48:03ID:???↓
h?ttps?
0698nobodyさん
2008/04/23(水) 09:49:48ID:???検索してもいまいち核心がでてこないといいますか・・・・・・・
これphpのコマンドですよね?
0699nobodyさん
2008/04/23(水) 10:00:50ID:???教えていただいたやり方とh付け足す方法でやりたい事は出来ております。
0700nobodyさん
2008/04/23(水) 10:57:40ID:???「正規表現」で調べてみ
0701nobodyさん
2008/04/23(水) 13:20:17ID:???http → hhttp
ftp → hftp
news → 略
これが「やりたい事」なのか冷静に考えてみよう。
0702nobodyさん
2008/04/23(水) 14:27:12ID:???ありがとうございます、調べてみます。
>>701
そうだった・・・・全種類にh付くんですよねこのままじゃ。
この形式による動作の分類は正規表現を学べは問題なくできることなんでしょうか?
0703nobodyさん
2008/04/23(水) 14:44:21ID:???もしかしてこれでおけでしょうか?
他のリンクをしないとすると。
0704nobodyさん
2008/04/23(水) 15:02:27ID:???(h?ttps?|ftp|news) → h?(ttps?) // h? をカッコから出す
にすればいいと思うよ。
PHP や正規表現と無関係な話になるけど、ttp でアドレスを貼った人は
勝手に http で貼ったのと同じ結果に書き換えられたらどう思うんだろうね。
0705nobodyさん
2008/04/23(水) 15:03:56ID:???URLとして有効だったらあとは ttp:// だけで直接比較すればいいだろう
0706nobodyさん
2008/04/23(水) 15:18:54ID:???やはりそうでしたか、本当に助かりました。
うちの掲示板は広告に対する禁止ワードの効果がほとんどなかったので
httpを禁止ワードにしてリンクはttpで書き込んでもらうようにしたら1件も広告つかなくなりました。
なので今まで基本コピペで飛んで貰うような状況だったのですが
今回自動リンク出来たら訪問者も楽だろうと言う事で質問してみました。
訪問者がリンク張りたくないものに関してはまた規約に赤で方法を明記したいと思います。
0707nobodyさん
2008/04/23(水) 17:35:33ID:???と並べるのとどっちがいいんだろ。
0708nobodyさん
2008/04/23(水) 19:40:21ID:???ベタというならswitch($var) case 'http':とか。
0709nobodyさん
2008/04/24(木) 23:09:38ID:???これをforeeachにするにはどうすればいいんでしょうか。。。
0710nobodyさん
2008/04/25(金) 00:03:45ID:???0711nobodyさん
2008/04/25(金) 08:42:31ID:???$array_address=(
'google.com',
'yahoo.com'
);
foreach($array_address as $address){
$ip=gethostbynamel($address);
echo "<a href=http://{$ip}>{$ip}</a>";
}
0712nobodyさん
2008/04/25(金) 08:56:07ID:???0713nobodyさん
2008/04/25(金) 10:37:24ID:???こういうことじゃね?
$ip = gethostbynamel($address);
$string = '<a href="http://'. $ip .'">'. $ip .'</a>';
$chars = preg_split('//', $string, -1, PREG_SPLIT_NO_EMPTY);
foreach($chars as $char) {
$result[] = $char;
}
echo implode('', $result);
0714nobodyさん
2008/04/25(金) 12:02:35ID:???0715nobodyさん
2008/04/25(金) 12:11:17ID:???0718nobodyさん
2008/04/25(金) 12:29:05ID:???$time=10:00;
この$timeを午前か午後か(am,pm)判別する関数はありますでしょうか?
■ このスレッドは過去ログ倉庫に格納されています