【PHP】くだらねぇ質問はここに書き込みやがれpart2
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
05/01/09 06:01:24ID:tJkdKk+eお前の下らない質問に回答があるかも知れないスレッドです。
0002nobodyさん
05/01/09 06:02:05ID:???【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
0003nobodyさん
05/01/09 06:07:02ID:???0004nobodyさん
05/01/09 06:10:42ID:yJi8rWX70006nobodyさん
05/01/09 08:14:08ID:2fyg0lN1メール投稿とか出来たらよいかも
よろしくおにいちゃん!
0007nobodyさん
05/01/09 09:04:50ID:???0008nobodyさん
05/01/09 09:36:09ID:O+gxswgn──────────────────
<?php
class mother{
var $childs = array();
}
class child{
var $age;
var $mother;
function child($age, &$mother){
$this->age = $age;
$this->mother =& $mother;
$this->mother->childs[] =& $this;
}
}
$mother = new mother();
$x = new child(15, &$mother);
$y = new child(10, &$mother);
$x->age ++;
$y->age ++;
print_r($mother);
?>
──────────────────
これで、motherの中のchildのageがそれぞれ16と11になってほしいのですが
実際は15と10のままです。何か良い方法はありますか?
0009nobodyさん
05/01/09 10:03:48ID:???$y =& new child(10, $mother);
0010nobodyさん
05/01/09 10:35:19ID:9fxwJrgAこれは正規表現使って出来ますでしょうか?
正規表現複雑すぎてさっぱりなので、
誰か分かる人構文を書いていただけたら感謝感激なんですが。
例えば、
if(abc数字3文字の形かどうか){exit();}
という風にしたいのです。
abc数字3文字とは例えば、
abc123やabc555などをさします。
0011nobodyさん
05/01/09 12:04:30ID:???0014nobodyさん
05/01/09 17:09:16ID:F+PYukjEm9(^Д^)プギャーーーッ
0016nobodyさん
05/01/09 18:09:14ID:F+PYukjEm9(^Д^)プギャッ
0017nobodyさん
05/01/09 22:01:45ID:???この文字列と現在のシステム日付の差分を計算し、
1時間以上経っていたら処理を行うようにしたいのですが、
YmdHis形式の日付文字列をdate型に変換できなくて困っています。
strtotimeとかでも上手くいかなかったのですが、何かいい方法は無いでしょうか?
0018nobodyさん
05/01/09 22:02:35ID:hHfQCbQyCのように
int x[10][10] ;
int count=0 ;
for(int i=0 ; i<10 ; i++){
for(int j=0 ; j<10 ; j++){
count++;
x[i][j] = count;
}
}
とこのようなものをPHPで行いたいのですがどようにすればよいのですか?
0019nobodyさん
05/01/09 22:19:01ID:???そのままのロジックだと何か問題が?
$count = 0;
for($i=0; $i<10; $i++) {
for($j=0; $j<10; $j++) {
$count++;
$x[$i][$j] = $count;
}
}
てか、Cって for(int i=0 とかできるんだっけか?
0020nobodyさん
05/01/09 22:56:26ID:???list($year,$month,,,) = scanf($YmdHis,'%4d%2d,,,,');
とかできたはず
あとは単純にsubstr()を使うとか、どうとでもなるでしょ。
0021nobodyさん
05/01/09 22:56:32ID:???ttp://syokunin.no-ip.org/sample/cart/view.php
ここのショッピングカートを少しいじって使用するつもりです。
オプションの項目をちゃんと改行して表示したいのですが、
view.phpの中身のどのあたりをどうすればいいのかがよく分かりません。
ここかな?ってところに<br> タグをいれてみたけどうまくいきません。
例えば3段目の商品だと、
_________
生産国(日本)太さ
(10mm)
となっているのを
_________
生産国(日本)
太さ(10mm)
という感じにしたいのです。
ご教授ねがいます。
0022nobodyさん
05/01/09 22:57:01ID:F+PYukjE$time = strtotime(preg_replace('/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/', '$1-\2-\3 $4:$5:\6', $str));
0023nobodyさん
05/01/09 22:58:53ID:???ttp://syokunin.no-ip.org/sample/cart/view.php
ここのショッピングカートを少しいじって使用するつもりです。
オプションの項目をちゃんと改行して表示したいのですが、
view.phpの中身のどのあたりをどうすればいいのかがよく分かりません。
ここかな?ってところに<br> タグをいれてみたけどうまくいきません。
例えば3段目の商品だと、
_________
生産国(日本)太さ
(10mm)
となっているのを
_________
生産国(日本)
太さ(10mm)
という感じにしたいのです。
ご教授ねがいます。
0026nobodyさん
05/01/09 23:47:21ID:???C99仕様のコンパイラじゃないと無理と思われ
>>21,23
Selectタグ吐いてるとこにBrを追加するだけ
ありえないけど、もしそれすら出来ないなら丸投げ改造スレに移動
0027nobodyさん
05/01/09 23:53:05ID:???C99仕様のコンパイラじゃないと無理と思われ
>>21,23
Selectタグ吐いてるとこにBrを追加するだけ
ありえないけど、もしそれすら出来ないなら丸投げ改造スレに移動
0028nobodyさん
05/01/09 23:54:47ID:???C99仕様のコンパイラじゃないと無理と思われ
>>21,23
Selectタグ吐いてるとこにBrを追加するだけ
ありえないけど、もしそれすら出来ないなら丸投げ改造スレに移動
0029nobodyさん
05/01/09 23:56:48ID:???C99仕様のコンパイラじゃないと無理と思われ
>>21,23
Selectタグ吐いてるとこにBrを追加するだけ
ありえないけど、もしそれすら出来ないなら丸投げ改造スレに移動
0030nobodyさん
05/01/09 23:57:43ID:???C99仕様のコンパイラじゃないと無理と思われ
>>21,23
Selectタグ吐いてるとこにBrを追加するだけ
ありえないけど、もしそれすら出来ないなら丸投げ改造スレに移動
0032nobodyさん
05/01/10 00:14:43ID:???0033nobodyさん
05/01/10 00:17:11ID:???0034nobodyさん
05/01/10 00:18:00ID:???0035nobodyさん
05/01/10 00:19:20ID:???0037nobodyさん
05/01/10 00:22:52ID:???処理までにちょっと時間がかかるからもちでもついて待て。
>>26-30
オマイはぜってーわざとだろ。削除されろ。
0038nobodyさん
05/01/10 00:30:37ID:???書き込みエラーが出たりタイムアウトしてても
実は書き込めてるらしい。
しかも、書き込みが反映されるまでに10分以上かかるというすばらしい仕様だ(w
0039nobodyさん
05/01/10 01:57:18ID:???送信して検索結果をGETの結果(result.php?k=XXX)で表示したいのですが
なにか方法はありますか?
004239
05/01/10 02:31:38ID:???ありがとうございます。
0043nobodyさん
05/01/10 03:06:48ID:???例えば、
class hoge{
function make($name, $value) {
$this->$name = $value;
}
}
0044nobodyさん
05/01/10 04:17:00ID:FH4yAxR1<FORM ACTION="xxx.php" METHOD="POST" name="MainForm">
<SELECT NAME="q01">
<OPTION value="0">---お選びください---</OPTION>
<OPTION value="1type">1タイプ</OPTION>
<OPTION value="2type">2タイプ</OPTION>
<OPTION value="3type">3タイプ</OPTION>
</SELECT><br>
<INPUT TYPE="TEXT" NAME="q02" SIZE="30"><br>
<INPUT TYPE="TEXT" NAME="q03" SIZE="90"><br>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="実行">
</FORM>
上のようにHTMLを記述し、下のプログラムからそれぞれq1,q2,q3の値を取り込
むプログラムを作ったつもりですが、実行してもq1の値だけ空で値を選択した値を
取り込みません。(q2,q3は正常に取り込んでくれます)
どのようにしたらq1の値も正常に読み込むようになりますか?
$q01 = $_POST["q01"];
$q02 = $_POST["q02"];
$q03 = $_POST["q03"];
0045nobodyさん
05/01/10 06:20:30ID:???そういうキャラクターのオブジェクトならOK。そうでないならNG。
ちなみに、生成済みのプロパティにアクセスしないためには__set()を
0046nobodyさん
05/01/10 06:27:53ID:???コードは間違ってないように見える。
var_dump($_POST['q01']);とやって変数の中身を確認してみたら。
0047nobodyさん
05/01/10 06:45:40ID:???004818
05/01/10 10:39:49ID:???なんとか自己解決しました。
echoを使って生成された配列の中身を確かめていたので勘違いしていました。
printを使ったら期待通りの値を得ることができました。
0049nobodyさん
05/01/10 11:43:04ID:???0050nobodyさん
05/01/10 12:29:13ID:???ありがとう。__set()って使ったことなかったけど、こういう事もできたんだな…。
色々とありがたいヒントも得ました。2つぐらいしか思いつかなかったパターンが倍に増えたかんじ。
0051nobodyさん
05/01/10 15:04:58ID:V+OrI4POできる事を確認し、日本語が化ける問題に対処しようとgoogleで調べました。
まず、fonts用のディレクトリを作成し、そこにsazanami-gothic.ttfなどのフォント
を入れて、jpgraph.phpで
DEFINE('TTF_DIR','/usr/local/lib/php/jpgraph-1.16/japanese_fonts/');
このように参照できるようにしました。
次に
// Japanese font
DEFINE("FF_JPN_START", 40);
DEFINE("FF_JPN_END", 50);
DEFINE("FF_GOTHIC", 40);
DEFINE("FF_MICHO", 50);
DEFINE("FF_JPN_DEFAULT", FF_GOTHIC);
DEFINE("TF_JPN_DEFAULT", "sazanami-gothic.ttf");
を追加しました。
0052nobodyさん
05/01/10 15:06:34ID:V+OrI4POfunction TTF() {
$this->style_names=array(FS_NORMAL=>'normal',FS_BOLD=>'bold',
FS_ITALIC=>'italic',FS_BOLDITALIC=>'bolditalic');
// File names for available fonts
$this->font_files=array(
FF_COURIER => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'sazanami-gothic.ttf' ),
FF_GEORGIA => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'' ),
FF_TREBUCHE =>array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'sazanami-gothic.ttf' ),
FF_VERDANA => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'' ),
FF_TIMES => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'sazanami-gothic.ttf' ),
FF_COMIC => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'', FS_BOLDITALIC=>'' ),
FF_ARIAL => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'sazanami-gothic.ttf' ),
FF_GOTHIC => array(FS_NORMAL=>'sazanami-gothic.ttf',FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'sazanami-gothic.ttf'),
);
このように修正しました。グラフを描画させてみたのですが、インストール直後と同じで日本語が
化けてしまっています。どなたかアドバイスをいただけませんでしょうか。
0053nobodyさん
05/01/10 15:17:21ID:iCuvDIZ1みんなあらそうぜ!
0054nobodyさん
05/01/10 18:22:36ID:2LPzHX5sSSLの有効範囲がよくわからないのですが、
例えば、AサイトのSSLフォームでID/PASSを入力し、
SSL無しBサイトのPHP+MySQLと照合する、といった場合、
暗号化されてない状態で盗み見されてしまう可能性があるのでしょうか?
図では
A ----------------> B
という状況になると思うのですが、
この-----の部分もAでSSLを使用するだけで暗号化されるのでしょうか?
イマイチ理解できないのです
0055nobodyさん
05/01/10 19:00:53ID:MMRXO/4k$a =
"あいうえお
かきくけこ
さしすせそ
たちつてと";
変数$aの各行にアクセスしたいのですが、
どうすればいいでしょうか?
0059nobodyさん
05/01/10 19:17:08ID:???."WHERE subject LIKE '%".$search."%'"
." OR message LIKE '%".$search."%'";
$count_result = mysql_query($sql, $object);
$row = mysql_num_rows($count_result);
print($row);
でヒットした数が出ると思うのですがなぜか全部「1」になってしまいます。
なぜでしょうか?アドバイスお願いします。
0060nobodyさん
05/01/10 19:23:46ID:???mysql_num_rowsはSELECTで取得できる件数を返す。
つまり、COUNT(*) とやっている以上は必ず「1」になる。
006160
05/01/10 19:26:28ID:???件数っていうのはCOUNT(*)の値じゃなくてレコード数のこと。
SELECT COUNT(*) だと COUNTの結果が1レコードだけ返るから
mysql_num_rowsは常に「1」。
0062nobodyさん
05/01/10 19:28:22ID:???ありがとうございます。
trueが帰ってきてたんですね。
SELECT COUNT(*)をSELECT * に変えたところちゃんと表示できました。
0063nobodyさん
05/01/10 19:29:06ID:???0064nobodyさん
05/01/10 19:48:51ID:???てか、SELECT * にしてmysql_num_rowsを使うよりは
素直にSELECT COUNT(*) の値を取得したほうがいいんじゃないか?
0066nobodyさん
05/01/10 19:54:35ID:nGVUH1Bqecho '$test';
ってして
$test
って表示させたいのに実際はブランクになっちまうっすよ。
どうか夜露死苦
0067nobodyさん
05/01/10 19:54:52ID:MMRXO/4kvar_dump($_POST);
したら、カタカナの'ソ'の文字の後ろに
¥マークなどが付加されました。
ページのエンコーディングはshift-JISです。
PHPはmbstring.internal_encodingEUC-JPです。
なぜでしょうか?
0068nobodyさん
05/01/10 19:58:26ID:MMRXO/4k\$test
0069nobodyさん
05/01/10 20:00:24ID:nGVUH1Bqできたっすよ。
あんたすげーよ!!
アリガトさん
0070nobodyさん
05/01/10 20:04:04ID:???COUNT(*) ってのはヒット数を取得するための関数なんだから、
わざわざROWSを取得しなくてもCOUNT値を取得するほうが
本来の意味としては正しいんじゃないの?ってこと。
0071nobodyさん
05/01/10 20:04:18ID:MMRXO/4kおいおい
echo '$test';ホントこれか?
echo "\$test";これじゃないのか?
0072nobodyさん
05/01/10 20:08:08ID:nGVUH1Bqおいおい、あんまこまけーこと気にしてっとはげるぞ
ここに書くときちょっと書き間違えてるだけじゃねーか
じゃあな、ベイビーちゃん
0073nobodyさん
05/01/10 20:11:41ID:???0074nobodyさん
05/01/10 20:13:24ID:???いえ、それのやり方を聞いてるのです。
$result = mysql_query("SELECT COUNT(*)〜);
で$resultにint型として数値が入るならいいですけどそうじゃないですし。
0075nobodyさん
05/01/10 20:22:06ID:???例えば SELECT subject FROM b_table とかやって
subject の値を取得したい場合はどうするよ?
取得する対象が subject か COUNT(*) かの違いだけで、やり方は一緒。
そのやり方すら分からないなら、素直にマニュアル読んでらっしゃい。
0077nobodyさん
05/01/10 20:30:50ID:???0079nobodyさん
05/01/10 20:37:37ID:???だから普段はselect * formだ。
でもヒット数用の関数といわれると使わないとかなとか思ってしまった。
0080nobodyさん
05/01/10 20:38:07ID:???×form
;y=ー(゚д゚)・∵. ターン
0081nobodyさん
05/01/10 20:42:17ID:???0082nobodyさん
05/01/10 20:44:17ID:???PHP5は.php5という拡張子じゃないと動かないらしいんですが
.phpという拡張子で動くように設定できないでしょうか?
今の設定では.phpでPHP4が動くようです。
008359
05/01/10 20:47:39ID:???mysql_fetch_rowsを使うのですか?
それとも他に何か綺麗な方法があるのでしょうか。
0085nobodyさん
05/01/10 20:55:04ID:???mysql_fetch_rowsでも構わないし、
カウント値しか取得しないならmysql_resultでもいいと思う。
0086nobodyさん
05/01/10 21:02:22ID:???0087nobodyさん
05/01/11 00:22:14ID:???文書数が1500を少し超えてしまいました。
php使えばと言われたのですが、何をどうやっていいか全然わかりません。
参考にするべき書籍やサイトがあれば教えてください。
0091nobodyさん
05/01/11 01:14:12ID:kHqHs+F6どのように解消すればよいですか?
0092nobodyさん
05/01/11 01:23:59ID:???すいません。自分でもよくわかりません。
というかなんでPHPを使えといわれたのかもよくわかりません。
とりあえず今サイト内検索にmserchというCGIを使っていて、
一昨日lime-wというページランキングのCGIを置いたところ
ものすごく重くなったので、コンピュータ関係の仕事をしている親戚に電話すると
PHPのことを言われました。が、忙しいので相談に乗る時間がないとのことで
ここに書き込んでみましたが、PHPで何がどうなるのかもそもそもわかりません。
0094nobodyさん
05/01/11 01:55:38ID:???LimeCounter+Wのことでいいのか?
たぶん集計じゃなくてカウントが重いんだと思うが、アクセスがあるたびにログファイルをリライトしてるから、
ここがボトルネックのように見える。一アクセスの度に、千数百件のログデータを精査してまるごと更新する
のはページ数アクセス数が多いサイトでは無理がある。
しかし1500行程度でものすごく重くなることはないはずだけどなあ。
PHPで書き直してもプロセス立ち上げるロスが軽減される程度なんで、本質的な解決にはならんと思う。
例えばアクセス過多でログの更新が重くなってるなら、カウントとログ更新のロジックを変えてみるしか。
ページごとにログファイルを分ければ集計は遅くなるけど、アクセスの度に千数百件のデータを精査して
更新する負荷は軽くなる、とか。
0095nobodyさん
05/01/11 02:53:54ID:???晒してみます。
ttp://n2ch.lazy8.info/moe/
>>94
そのcgiです。1500というのはhtml文書の数ですが、それくらいでは重くならないと
いうことでしょうか。ちなみに今は削除しました。
今はhttp://lily.boo.jp/php/tool.php?id=pv-ranking を使ってみようか思っているのですが、
結局imgタグでのカウント、アクセスログの精査とやることは同じようなので、
ロジックを変えないと結局同じということになりそうな気がしてきました。
ただ、そのロジックの変え方というのがちょっとよくわからないです。
0096nobodyさん
05/01/11 02:56:33ID:???0097nobodyさん
05/01/11 04:28:46ID:???そっちのはページごとにログファイルを作ってるし、カウントアップ時にページリストを
読み込むこともないから、ずっとまともだと思われ。(Lime counterは毎回全リスト全ログを読み書きするというトンデモ仕様のようだ)
それでもログが壊れるなら、なんか別の原因だろうね。
0098nobodyさん
05/01/11 04:32:58ID:???何をどうしたいのか、箇条書きでいいからまとめてくれ。
一応、漏れが理解できたのは、
現在1500ほどhtml文書がある。
それぞれのファイルに対するアクセス数のランキングを
知りたかったのでLimeCounter+Wを入れてみたが使い物にならなかった。
知り合いに尋ねたところ「PHP使え」と言われたが、どうしたらいいかさっぱりわからん。
と言うところまで。
#DB使ってみるとかになるのかな。
0099nobodyさん
05/01/11 04:34:20ID:???ページの数だけログファイルがあるとなると、集計結果を表示するときのファイルIOがすごそうだけどな
ランキングが頻繁に参照されるなら集計データをキャッシュするようにしたほうがいいだろう
作者じゃないので口だけだが
0101100
05/01/11 08:12:31ID:???この板のやつは
0102nobodyさん
05/01/11 09:46:04ID:???ありがとうございます。
とりあえず新しいほうを試してみます。
>>98
ありがとうございます。整理してい頂いた
>それぞれのファイルに対するアクセス数のランキングを知りたかった
というのがやりたかったことです。
ただ、これと「PHPを使え」という指示がどうリンクするのかわからないです。
0103nobodyさん
05/01/11 09:56:56ID:???★ ★
☆ 質問者が返信する際は、名前欄に「最初に質問したレス番号」を入れろ ☆
★ ★
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0104nobodyさん
05/01/11 10:43:39ID:???なさそうな気もするけどDB使ってるのを探したほうがいい。
あるいはHTMLファイルをグループごとにわけて、一ランキングリストあたりの登録ページを減らすとか、、、
0105nobodyさん
05/01/11 10:49:14ID:???ランキング一覧は手動で更新してるみたいだから大丈夫じゃね?
リクエストの度に大量のログを読むわけじゃないなら鯖管もおおめにみてくれるかもよ
0109nobodyさん
05/01/11 12:30:43ID:J22T2QN3phpでどう書けばいいですか?
0110nobodyさん
05/01/11 12:39:04ID:???0111109
05/01/11 12:46:01ID:???0112nobodyさん
05/01/11 16:12:17ID:/YomWmAv「\」を投稿するとエラーになってしまいます。
原因はエスケープしてないため、とは思うのですが
現在使っている参考書には「\」を「\\」に変換するなどの記述はありません。
これはどのような原因が考えられるでしょうか?
よろしくお願いします。
0116nobodyさん
05/01/11 17:32:23ID:???Smartyのインストール方法がよくわからなくて。
PHPは自宅のFedoraCore3サーバーにyumコマンドでインストールしました。
なので、個別にSmartyをダウンロードして展開・設定を行う、などの
手順が難しいです。
ご教授願えないでしょうか?
ちなみにPHP4の環境です。PHP5にしたいのですが、そうすると、
xoopsが動かなくなってしまいます。
PHP5環境には、下記サイトを参考に一度してみました。
http://www.sera.desuyo.net/php5/
0117112
05/01/11 17:42:16ID:???いえ、エスケープの仕方はわかってるのですが、
なぜ参考書のサンプルではエラーにならないのかと思って質問しました。
ソースを見なければわからないとは思うのですが、
「\」をエスケープした記述はなくて不思議に思ってます
0118nobodyさん
05/01/11 18:04:27ID:???mysql_escape_string()をやればmysqlのエラーになるような文字は全部エスケープできるのですか?
それと掲示板に表示する際問題なく表示するためには
mysql_escape_string,nl2br,strip_tagsを使えば大丈夫でしょうか。
0119nobodyさん
05/01/11 18:26:03ID:hD8Gr+rzただしmysql_escape_string()においてperlからphpsへの変更により
FedoraCore3をSmartyをダウンロードして展開・設定するには
天ぷらを$pairs = explode( ';', $hogeへ変換し関連させなければ
mysql_escape_string,nl2br,strip_tagsを使うことはできません
0120nobodyさん
05/01/11 19:02:17ID:???<?php 〜 ?>と書くように、という記事を見つけました。
でも実際XHTML部分の解釈はブラウザ側、PHP部分の解釈はサーバ側なんだから
XHTMLなんかにとやかく言われる筋合いはない!と思うのですがどうですか。
0122アップロードについて
05/01/11 20:01:43ID:/7ZGSc21環境はPHP4.3.8+Apache1.3.31+WindowsXP なのですが、下記のように書いた
datetime.phpの「送信」ボタンを押しても、「$upfile_name」や「$upfile_size」
が表示されず、何もアップロード出来ません。、「$upfile_name」や「$upfile_size」
を表示させるにはどうすれば良いのでしょうか。どなたか教えて下さい。お願
い致します。
<form method="POST" enctype="multipart/form-data" action="datetime.php">
<input type="hidden" name="MAX_FILE_SIZE" value="10000">
ファイル名を入力して下さい
<input size="30" type="file" name="upfile"><br
<input type="submit" name="submited" value="送信">
</form>
<?php
$MAX_FILE_SIZE=$_POST['MAX_FILE_SIZE'];
$upfile=$_POST['upfile'];
$submited =$_POST['submited'];
if($submited !="")
{
//ファイルの情報を表示する
print("ファイル名:$upfile_name<br>\n");
print("ファイルサイズ:$upfile_size<br>\n");
print("ファイルタイプ:$upfile_type<br>\n");
}
?>
0124nobodyさん
05/01/11 21:16:37ID:???2頁目以降にいくときにsearch.php?search=検索文字とGETで渡してるのですが
全角だと文字化けしてしまいます。
何かいい方法はないでしょうか?
0125nobodyさん
05/01/11 21:19:09ID:???0126122
05/01/11 21:19:38ID:/7ZGSc21ありがとうございます!下のように書いたら出来ました!マニュアルって、
ttp://www.phpspot.net のことですよね?
<?php
$submited=$_POST['submited'];
$uploadfile =$_FILES['userfile']['name'];
if($submited !="")
{
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print($_FILES['userfile']['name'] . "<br>");
print($_FILES['userfile']['size'] . "<br>");
print($_FILES['userfile']['type'] . "<br>");
print("<a href=\"" . $uploadfile . "\">$uploadfile</a><br>");
}
0129nobodyさん
05/01/11 23:18:56ID:blFDrsTZ相場は大体おいくらでしょうか?
0130nobodyさん
05/01/11 23:22:42ID:???0131nobodyさん
05/01/11 23:24:06ID:blFDrsTZ0132nobodyさん
05/01/11 23:25:40ID:???0135nobodyさん
05/01/12 05:58:33ID:aUwThzOF相対パス(realpath("../dir/file.ext"); )とかだとうまくいくんですが、
絶対パス(realpath("/dir/file.ext"); )とかだとダメです_| ̄|○
(c:\inetpub\wwwroot\dir\file.extが返ることを期待してるのにfalseが返る)
どうやらルート(/)がC:\と解釈されちゃうみたいなんですが…
何か設定が悪いんでしょうか? php.iniで(doc_rootをc:\inetpub\wwwrootにしてもダメでした)
要はASPのServer.MapPathと同じことをしたいんです。
環境はWIN XP+IIS+PHP4.3.10です。よろしくお願いします。
0137nobodyさん
05/01/12 06:43:57ID:???当たり前
0138nobodyさん
05/01/12 10:36:03ID:2Rwu3ejIどのように解消すればよいですか?
0139nobodyさん
05/01/12 10:50:06ID:5IhIpMX9こんにちわ とか うぃっす とか こんちゃーっす とかいろんなバリエーションで出したいんです
とりあえず
<?php
print('こんにちは','うぃっす','こんちゃーっす');
?>
これでやってみたんですがだめでした(´・ω・`)
だれかおしえてください
0140nobodyさん
05/01/12 10:57:56ID:???http://jp.php.net/array_randを使って味噌
>>91>>138
残念ながらここにいるのはゴッドやエスパーばかりではない
0141nobodyさん
05/01/12 11:06:04ID:???Flashの再生や停止ボタンを自動でつけるためのスクリプトはどのように書けばいいでしょう?
もしくは、Flash外部から再生や停止コマンドを送信、ということは可能でしょうか?
0142nobodyさん
05/01/12 11:21:18ID:???1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
目の前で生じている現象をそのまま具体的に書くなどもっての外。
事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
"どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
絶対に避ける。
8. 情報は小出しに。
「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」
なんて痛い質問するな。つうか氏ね。
0143nobodyさん
05/01/12 12:17:16ID:o9cou9UP検索機能をある程度作ったところなのですが
検索ワードに「b」など入れるとスペース( )が引っかかります。
さらに文字色を変えるために置換をしてるのでスペースの部分が&n<FONT>b</FONT>sp;みたいになり
文字として表示されてしまいます。
スペースがヒットしてしまうのはとりあえずはいいとしてるのですが、文字として表示されるのは困ってます。
置換するときに(^ )などを検索条件に入れれば解決するとは思いますが
他の特殊文字など全部入れるのは汚いので何か簡単に解決する方法はないでしょうか?
0144143
05/01/12 12:24:14ID:???3行目 スペース(&nbsp;)
8行目 (^&nbsp;)です。
0145nobodyさん
05/01/12 12:29:48ID:EzxAhEkT都市部にゲス女は集中してる
これには理由があって、都市には働き盛りの若い男が集まってくるよな学生とか
当然、都市部には男ばっかりになる。
都市は慢性的な女不足なんだ
そこに住んでる男は女がいなくて大変。女はウハウハ
そういうところですごした女はタカビー女・ゲス女となる
でも、男で東京に住んでるからって悲観することはない
東京に住んでるってことは毎日ゲス女に鍛えられてるってことだからだ
俺自身生涯で一番もてたのは東京を離れてすぐの頃だった
東京ゲス女に鍛えられてたからな。 地方の女は女神に見えた
だから東京ゲス女に関わるなと、ちょっと地方に行けばいくらでもいい女はいる
東京で鍛えられてる男なら、モテモテだよと
「都会風吹かせて気取らないこと」
それさえ、気をつければ女なんていくらでも寄ってくる
この考えに賛同する人はこのスレを色んなとこに貼り付けてくれ
そんで、これ以上女日照りの東京に無謀な男が来ることを防ごうじゃないか!!
もしかしたら、コレを見て上京してくる女の子が増えるかもしれないしな
協力頼むぜ!
0147nobodyさん
05/01/12 12:35:17ID:???スペースを&nbsp;にしてDBにINSERTするんじゃくて
スペースはスペースのままDBにINSERTしておいて
DBからSELECTしたときに
htmlspecialcharsでもつかって変換しておけばよいのでわ?
0148nobodyさん
05/01/12 12:39:19ID:???0149143
05/01/12 13:17:46ID:???ありがとうございます。
アタマが堅かったですね…
>>147
insertする時にmysql_escape_string();だけ使って
表示するときにhtmlspecialcharsってことですね。
nl2br や strip_tagsもDBから呼び出す時の方がいいでしょうか?
0150nobodyさん
05/01/12 13:47:33ID:???よいとされている。
http://www.ipa.go.jp/security/awareness/vendor/programming/a01_02_main.html
が、実際には毎回処理するのはコストになるということで永続化直前にやってしまう。
ハイライトがどういうロジックになってるか知らんけど、&.*; に含まれる文字列を除外したいだけなら
正規表現でなんとかなる。このくらいは捨ててもいいと思うけどね。
$string = 'foobar hoge'';
$keyword = 'b';
$keyword = preg_quote($keyword);
$hl = preg_replace('/((?:^|&.+?;)[^&]*?)('.$keyword.')/', '$1<font>$2</font>', $string);
あと一文字だけの検索ってあんまり意味ない上に負荷かかるから、
記号以外2文字以上とか基準を設けて弾くのも手。
0151150
05/01/12 13:49:19ID:???0152nobodyさん
05/01/12 13:54:12ID:???0153150
05/01/12 14:18:40ID:???preg_replace('/((?:^|&.+?;)[^&]*?)('.$keyword.')|((?:^|&.+?;)&.+)('.$keyword.')(?!:.+?;)/', '$1$3<font>$2$4</font>', $string);
0154nobodyさん
05/01/12 14:19:23ID:PPEzW4f4フラッシュに原寸てあるんでしたっけ。
現在、テンプレとなるhtmlの中に<?echo $title;?><?echo $comment;?>のようにDBなどから取得した
データを表示しているのですが、
これを、静的なページにしたいので、出力されたhtmlを別ファイルに書き出したいのですが、
どうすればよいのでしょう。
0155150
05/01/12 14:25:14ID:???preg_replace('/([^&]*)('.$keyword.')(?![^&]+?;)/', '$1<font>$2</font>', $string);
0156nobodyさん
05/01/12 14:27:29ID:???例えば
ob_start();
include('template.html');
$buffer = ob_get_contents();
ob_end_clean();
file_put_contents('static.html', $buffer);
0158154
05/01/12 14:31:32ID:PPEzW4f4ああー。、PHP5専用でしたか。。
PHP4でいける方法ってないですかね。。
0162154
05/01/12 14:38:07ID:???0164nobodyさん
05/01/12 14:41:32ID:???>XSS対策のHTMLエンティティ変換なんかは、静的なドキュメントの出力直前にやるのが
>よいとされている。
をやると書き込み時の1回変換だったのが
読み込み時だとレス数回変換になりますよね。
これは推奨されてるとなっているがどの程度の負荷になってしまうのでしょう。
素人考えかもしれませんがものすごい負荷になりそうでコワヒのですが。
0165150
05/01/12 14:42:50ID:???ごめんね。お母さん初めて回答者したから沢山レスしてごめんね。
0169sage
05/01/12 14:59:25ID:1cdGeyac基礎は習得したつもりなのですが、配布されているソースには理解できない部分がたくさんあって、
困っています。
0170nobodyさん
05/01/12 15:13:56ID:???「PHPのクラス」と言えるほど風変わりなものはPHPにはないことないか。
オブジェクト指向そのものについて学んでおかないと直感的にソースを読み書きできないよ。
OOPの基礎が出来てるならオフィシャルのマニュアルで十分なような。
0172nobodyさん
05/01/12 15:18:29ID:???そう負荷にならないんじゃないの?
1ページに数百件もレスがあるってのなら話はベツだけど…
100件くらいなら…大丈夫なのかな?
その辺は( ′∇ソ ヨーワカラン
0173nobodyさん
05/01/12 15:21:51ID:???負荷がどのくらいですなんて言えるわけないでしょ。ケースバイケースだよ。
0174nobodyさん
05/01/12 16:00:11ID:1cdGeyacお返事ありがとうございます。
オブジェクト指向関係が甘いのでそれを固めてから再トライします。
0175nobodyさん
05/01/12 16:21:56ID:???0176nobodyさん
05/01/12 16:25:11ID:???0177nobodyさん
05/01/12 16:29:57ID:???このような時にエラーが出るようにできるのでしょうか?
$str = abc;
エラーが出ずにabcが入る
print $str;
abcと出力される
0179nobodyさん
05/01/12 16:41:46ID:???>未定義の定数を使用した場合、ちょうどstringとして コールしたかのように
>(CONSTANT vs "CONSTANT")、 PHPはその定数自体の名前を使用したと
>仮定します。 この際、E_NOTICE が発生します。
~~~~~~~~~~~~~~~~~~~~~~~~~~~
ってことでerror_reporting(E_ALL);で表示させられるはず
0180nobodyさん
05/01/12 17:03:16ID:???出力直前にしてやってます。
しかし何故かフォームから投稿した改行が\nとなって<BR>では表示されません。
DBに書き込むときmysql_escape_string();
HTMLで表示するときnl2br,htmlspecialchars,strip_tagsを使っています。
手作業で\nを<BR>に変換するしかないのでしょうか?
0181177
05/01/12 17:05:23ID:???無事解決しました。
これでaspからの変換作業が楽になります。
0182nobodyさん
05/01/12 17:22:30ID:KZ/Cebyeどれぐらい、時間がかかりますか?
0186nobodyさん
05/01/12 20:36:05ID:???山田花子なんて具体例を出してくるのはイカガ谷^hなものかと。
高見盛似の妹 なら可。
0187nobodyさん
05/01/13 02:34:30ID:hKLwSoTEどれぐらい、時間がかかりますか?
0190nobodyさん
05/01/13 06:30:57ID:???あれはどうにもならないでつか?
0191nobodyさん
05/01/13 11:09:03ID:???0192nobodyさん
05/01/13 11:40:46ID:eU6aIcYNabc.htmlで表示させたいのですが、何かよい方法はないでしょうか?
.htmlなのでincludeもできず困ってます
0193192
05/01/13 11:41:57ID:eU6aIcYNやってみましたが、表示されませんでした。
カウンターはテキストカウンタです
0194nobodyさん
05/01/13 11:51:55ID:NtIaNDXJ0197192
05/01/13 13:38:39ID:eU6aIcYNスクリプトエレメントは分かったのですが、
オブジェクトが良く分かりません。
オブジェクト指向のオブジェクトでしょうか?
0198nobodyさん
05/01/13 13:46:18ID:Im2hBt0b・・・・
<img src="../pic/hinomaru.gif">
・・・・
?>
↑これを仮に"hinomaru.php"として保存するとしましょう。
その後このphpをよそのphpファイルからincludeして呼び出すとき、
../pic/hinomaru.gif
というファイルの相対指定は呼び出したphpファイルの居場所によって
まちまちになってしまいます。こういうのを防ぐにはどうファイルを指定したら
いいでしょうか?
呼び出される側のphpファイルが基準になればそもそもこんな問題は
起こらないんですがね・・・
0200198
05/01/13 14:06:00ID:???私も初めウェブサーバーのルートからの絶対パスにしてみました。
リンクに関してはルートからの絶対パスで問題なかったんですが
<img src="">
に関してはルートからの絶対パスではうまく表示されませんでした。
<img src="">
は絶対パスサポートしていないのでしょうか?
あと万が一現在借りているウェブサーバーを引っ越さなければならないとき、
ルートの絶対パスも変わってしまうので全部記述し直さなければなりません。
できれば相対パス表記の方が汎用性があっていいかなぁと思っているのですが・・・
0202nobodyさん
05/01/13 14:11:23ID:???0206nobodyさん
05/01/13 14:22:24ID:???0207198
05/01/13 14:22:45ID:???$real_path = realpath ("../pic/hinomaru.gif");
echo '<img src="$real_path">';
?>
としてみたんですがダメでした。画像は表示されませんでした。
0209nobodyさん
05/01/13 14:28:14ID:???> というファイルの相対指定は呼び出したphpファイルの居場所によって
> まちまちになってしまいます。
なってしまいません。
0210nobodyさん
05/01/13 14:29:29ID:???0211nobodyさん
05/01/13 14:29:39ID:???0214nobodyさん
05/01/13 14:47:38ID:???http://localhost/img/pic/hinomaru.gif
というURLで当該画像ファイルにアクセスできるなら
<img src="/img/pic/hinomaru.gif">
0215nobodyさん
05/01/13 14:51:04ID:???0216nobodyさん
05/01/13 14:54:00ID:???0217nobodyさん
05/01/13 14:54:54ID:???includeは、指定したファイルの中身を貼り付けるだけだよ。
相対パスじゃincludeで>>205のように処理しないと呼び出したとき対処出来ないだろ。
例えば、/title.php を /test/index.phpからincludeで呼び出したら、相対が変わってくる。
0218nobodyさん
05/01/13 15:00:07ID:???0220nobodyさん
05/01/13 15:05:31ID:???俺もかつて同じ問題にぶち当たったことがある。
そのときは呼び出した側から呼び出された側の相対パスを
検出するfunctionを作ることで解決した。
__FILE__変数使えばできなかないぞ。
一度作ってしまえば使い回しもできるし便利なもんだよ(´ー`)y−~~~
0222nobodyさん
05/01/13 15:06:28ID:???0223nobodyさん
05/01/13 15:08:48ID:???0224198
05/01/13 15:14:09ID:???<?
$real_path = realpath ("../pic/hinomaru.gif");
echo '<img src="$real_path">';
?>
はひょうじされませんでしたが
<img src="../pic/hinomaru.gif">
はちゃんと表示されました。
何ででしょう(;´Д`)・・・
0225nobodyさん
05/01/13 17:52:04ID:???PHP Version 4.3.3
Configure Command
'./configure' '--with-apxs=/usr/sbin/apxs' '--enable-mbstring' '--with-pgsql' '--enable-xslt' '--with-xslt-sablot=/usr' '--with-sablot-js=/usr' '--with-expat-dir=/usr' '--without-mysql' '--with-ldap' '--with-gd' '--with-zlib-dir=/usr'
という環境です。
[質問]
session_start()を使用しているプログラムなのですが、キャッシュコントロールに
おおはまりしております。
php.iniでは
session.cache_limiter => nocache
になっていますが、あるプログラムの部分だけキャッシュさせたいと思っています。
ネットで調べたところ
session_start()の前で
ini_set("session.cache_limiter","none");
または
ini_set("session.cache_limiter","private");
としたのですが、どうもHTTP_CACHE_CONTROLにno-cacheが設定されてしまいます。
そもそもPOSTではキャッシュさせることができないのでしょうか。
どうぞヒントをいただけますようお願いもうしあげます。
0226nobodyさん
05/01/13 19:54:01ID:obCi5PQG空白で区切ったときにandまたはor検索をしたいのですがどのようにやればよろしいでしょうか?
置換で空白部分に「 and 」と入れたのですが'%a and b %'となるのでそのまま文字として認識されちゃいますし…
0227nobodyさん
05/01/13 19:57:57ID:???$tmp = '';
foreach ($keylist as $key) {
if ($key) $sql .= $tmp . " hoge like \"%$key%\"";
$tmp = ' and';
}
0228226
05/01/13 20:00:21ID:???助かりました
0230nobodyさん
05/01/13 21:25:01ID:eW3QGjHb使用感(速度・安定性)はどうでしょう
0231nobodyさん
05/01/13 21:28:01ID:mcYFj/Gd[test.xml]
<?xml・・・?>
<aaa file="c:\hoge">
・
・
・
</aaa>
[スクリプト]
$xml = simplexml_load_file('test.xml');
$attr = $xml->attributes();
foreach($attr as $key=>$var)
{
echo "$key -> $var\n";
}
・・・と、こんな感じでXMLを読み込んでfileの属性値を取得しています。
その属性値を表示してみると\記号以降が文字化けしてしまうのですが、
どうやって解消すればよいのでしょうか?
0233231
05/01/13 22:46:01ID:mcYFj/Gd>マルチバイトの文字がエンティティ化されてるだけじゃないの?
すみません、知識不足の為この部分がよくわからないのですが、
文字化けとエンティティ化というのはどのように関係してくるのでしょうか?
実際に発生している文字化けは上記の例だと「c:\hoge」が「c:ツ・hoge」となります。
どうやら「\」が 0xc2a5 という値に置き換わっているようなので
今のところ、上記コードのforeach内部で
str_replace(chr(0xc2).chr(0xa5), "\\",$var);
とすることで文字化けした部分を無理やり\記号に置き換えている状況です。
0235nobodyさん
05/01/13 23:16:47ID:???http://foo.com/etc/passwd
とかできたら怖いだろうが
0237nobodyさん
05/01/13 23:48:56ID:???0240nobodyさん
05/01/14 01:17:18ID:???それでもmojaviつかったほうがいいでつか?
0241nobodyさん
05/01/14 02:31:33ID:???値を残したいんですけどどうすればいいのでしょうか
0244nobodyさん
05/01/14 03:07:54ID:gDcK7oTtそこでセッションですよ。
0245nobodyさん
05/01/14 03:13:28ID:???0246nobodyさん
05/01/14 03:25:56ID:???クライアント側で完結させてしまうのがいい。
そうなるとこの板のネタじゃなくなってしまうけど。
0247nobodyさん
05/01/14 04:05:45ID:???0248nobodyさん
05/01/14 04:21:16ID:???0249nobodyさん
05/01/14 05:13:18ID:???文字コードはEUCです。
UTF-8に変える以外でこれを回避する方法は無いでしょうか。
0250nobodyさん
05/01/14 05:22:33ID:???0251nobodyさん
05/01/14 05:32:53ID:???書き込みにくかったんです。・゚・(ノД`)・゚・。
0252nobodyさん
05/01/14 08:57:31ID:???0253nobodyさん
05/01/14 08:59:31ID:???0256nobodyさん
05/01/14 10:10:46ID:???> Shows all predefined variables
~~~
ここに全部あるわけ
http://jp.php.net/manual/ja/language.variables.predefined.php
0257nobodyさん
05/01/14 10:53:57ID:dc+qAGeZ<form enctype=multipart/form-data action=upload.php method=post>
<input type=hidden name=max_file_size value=10000>
画像:<input name=userfile type=file>
<input type=submit value=送信>
</form>
</html>
<?php
$uploadfile = $_FILES['userfile']['name'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print "アップ成功";
} else {
print "アップ失敗";
}
画像アップローダーを作ろうとし
上のように記述して送信ボタンを押したところ、
Warning: Unable to create 'xxxx.gif': Permission denied in /home/xxxx/xxxx/upload.php on line 15
Warning: Unable to move '/tmp/php49xHiN' to 'tohowww.gif' in /home/xxxx/xxxx/upload.php on line 15
のようなエラーが発生しました。
このエラーを回避するにはどのように直したらよいですか?。
0259nobodyさん
05/01/14 11:12:48ID:gDcK7oTtメッセージをExcite翻訳してやったから、257はチラシの裏にでもコード書いてろ。な?
警告: 'xxxx.gif'を作成することができません: 許可は稼働中な/home/xxxx/xxxx/upload.phpで15を否定しました。
警告: 線15の上の/home/xxxx/xxxx/upload.phpの'tohowww.gif'に'/tmp/php49xHiN'を動かすことができません。
0261nobodyさん
05/01/14 11:46:48ID:???PHPならではの、弊害だな。
0262初心者
05/01/14 11:54:21ID:a1cFeSEO↑よくこんなのが出てきたり出てこなかったりするのですが、
プログラムを見ると ' とかは見当たらないのですが、
これってどうしてでしょうか?
0263nobodyさん
05/01/14 12:31:04ID:???PHP4.2で文字コードEUCにてテキストフォームをつくりました
入力された結果をメールでとばし、かつDB(PostgreSQL)に蓄積、というものです。
�鰍ニか�汲ニかの機種依存文字を入力されてしまった時にメール、DBとも文字化けしてしまうので
用途から�括汲フ2文字だけは頻出しそうなので
(株)と(有)にそれぞれereg_replaceしたいのですが
http://www.shurey.com/Soft/JavaScript/font2.html
にある表の8780の行のAとBはどう表記していいのか教えていただけますか
0264nobodyさん
05/01/14 14:14:23ID:???A, Bはそれぞれ一ケタ目
�梶ィ\x87\x8A
�求ィ\x87\x8B
>>262
引数に文字を受け付けない関数に文字列を渡してるんだろ
つーかなぜ肝心の67行目を隠すかねえ
0265nobodyさん
05/01/14 14:15:12ID:sj4KYmxy単なる記述ミス。
'とか"の閉じ忘れだったり、;で行を終らせてなかったりするとよく出る。
対処:
コードをよく見る。
それか、PHPコード中の文字列や関数、変数、コメントを色換えしてくれるエディタにする。
0267nobodyさん
05/01/14 14:18:18ID:???すると、同じphpファイルなのに、ファイル名で挙動が違います。
「index.php」の場合、プラウザに表示されず、ファイルをダウンロード
しようとします。
「foo.php」の場合、正常に動作します。
なにが問題で、このような動作をするのでしょうか?
0268nobodyさん
05/01/14 14:23:22ID:???NixならEUC-JPかUtf-8だろうから、閉じ忘れが有力なあ
エディタがないならhighlight_file()とか
0269nobodyさん
05/01/14 14:32:39ID:???httpd.confか.htaccessファイルを見れ
よくわからなかったらサバ管理者に聞いてくれ。
0270263
05/01/14 14:40:17ID:???ありがとうございました
$hoge = ereg_replace("\x87\x8A","(株)",$hoge);
$hoge = ereg_replace("\x87\x8B","(有)",$hoge);
のようにしてみましたがダメでした、もうちょい格闘してきます
0272263
05/01/14 14:59:05ID:???ファイルエンコーディングはEUCです、ってーことは
参照する文字コード表が間違ってる…んですね。
orz
ごめんなさい、探してきます
0273nobodyさん
05/01/14 15:02:52ID:???0274nobodyさん
05/01/14 15:04:06ID:???0275263
05/01/14 15:11:46ID:???http://www.rtpro.yamaha.co.jp/RT/docs/misc/kanji-euc.html
とかいくつかみたんですが(株)がない…。
print bin2hex('��');
したら"adae"とでました
http://jp2.php.net/manual/ja/function.bin2hex.php
イミがよく分からないながらも
$hoge = ereg_replace("\xad\xae","(株)",$hoge);
なんてやってみましたがorzでした、もうちょっと弄ってみます
0276nobodyさん
05/01/14 15:20:15ID:???$hoge = ereg_replace("��", "カブ", $hoge);
でいいじゃないか
0277nobodyさん
05/01/14 15:53:14ID:???mb_regex_encoding("EUC-JP");
mb_ereg_replace("\xAD\xAE", "(株)", $hoge);
0278263
05/01/14 16:16:06ID:???自分はmacで制作しているんですが
自機ではOKなんですがwin機で変換できないです
win機でbin2hex('��');してもmacでも同じ"adae"なのに…
bin2hexはASCII文字列を返してくれるようなのですが
EUCのコードを返してくれる関数ってないんでしょうか?
0279nobodyさん
05/01/14 16:21:40ID:???0280nobodyさん
05/01/14 16:24:49ID:???0281231
05/01/14 16:50:07ID:???外部実体エンティティが上手くオブジェクト化されないようです。
simplexml_load_file()でxml文書を読み込み、print_rで内容を表示してみると外部実体は展開されているように見えますが
実際にオブジェクトをたどってみると途中でNULLとなってしまい、外部実体の内容を取得できません。
これはPHPのバグなのでしょうか?
[hoge.xml]
<?xml version="1.0" encoding="Shift-JIS" ?>
<hoge>
test
</hoge>
[test.xml]
<?xml version="1.0" encoding="Shift-JIS" ?>
<!DOCTYPE test [
<!ENTITY hoge SYSTEM "hoge.xml">
]>
<fuga>
&hoge;
</fuga>
[PHP]
<?php
$xml = simplexml_load_file('test.xml');
var_dump($xml); // ここでは展開されて見える
var_dump($xml->hoge); // これだと見えない
?>
0282231
05/01/14 16:52:53ID:???誤:<!DOCTYPE test [
正:<!DOCTYPE fuga [
0285nobodyさん
05/01/14 18:58:03ID:???>>283
それが俺の掲示板の使い方です。
お金を払わずにわからない所があれば誰かが教えてくれる場所だと思っています。
なので、わからない人は返事しないで頂けませんか?
ここにいる人たちだって、わかる質問があれば答えるべきです。
それがこのスレの住人としての責務じゃないですか?
質問に回答がこないようじゃ質問スレとしては成り立たないと思います。
0288nobodyさん
05/01/14 19:37:03ID:???「&」→「&」と変換したいです。
でも、"や∩や†
文字実態参照・数値文字参照として用いられる「&」
は変換したくないです。
preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[x0-9a-f]{2,6};)/",
"?", strtr($string, $trans));
こういうのを見かけたんだけど、マニュアルよんでも
strtrのあたりとかがよくわかりません。
こういう処理は必要なくて、ただhtmlentitiesに食わせるだけでいいんでしょか?
0289nobodyさん
05/01/14 20:07:23ID:???効率が断然上がり、解答により多くの時間をかけることができるようになります。
0290263
05/01/14 22:15:28ID:???$hoge = ereg_replace("\xad\xea","(株)",$hoge);
$hoge = ereg_replace("\xad\xeb","(有)",$hoge);
知り合いがもってる文字コード表の本でみてもらったorz
そのあとで
print bin2hex('��');
print bin2hex('��');
した結果を入れている事に気がついた。
"\xad\xeb"は264さんの書き方をまんまコピーしただけなんで
\x○○の書き方を見直してきます
ありがとうございました
0291nobodyさん
05/01/15 00:49:47ID:???取得するにはどうすればいいですか?
function GetText($word,$wstart,$wend){
preg_match("/($wstart)([^\n]+)($wend)/i",$word,$text);
return $text[2];
}
文字列$word内の$wstartと$wendの間を取得する
ような処理をさせようとしています。
なんか検索する文字によって↓のエラーがでる
Warning: Unknown modifier 'a'
とか
Warning: Unknown modifier 't'
対処方法またはエロイ人用のすばらしいものを教えてください。
0292nobodyさん
05/01/15 02:17:50ID:???function GetText($word,$wstart,$wend){
$pattern = "/$wstart([^\n]+)$wend/i";
preg_match($pattern,$word,$text);
return $text[1];
}
0293nobodyさん
05/01/15 02:18:03ID:wU+VTC+T全てのファイルをアップロードし、パーミッションも設定が終わりましたが、
Warning: array_shift(): The argument should be an array in /*/*/***.php on line 25
Warning: Invalid argument supplied for foreach() in /*/*/***.php on line 26
というエラーが出ます。
この前に出た絶対パスのエラーは原因を自力で探せたのですが、↑が分かりません。
ぐぐっても参考になるものは出て来なかったのですが、バグなのでしょうか?
ちなみに***.phpの25、26行目はさわっていません。
教えてください!お願い致します。
0295nobodyさん
05/01/15 02:22:42ID:???ごめん、全く意味がわからない。
せめて、そのスクリプトのコードを見せて貰わないことにはどうにもならない。
#エスパーキボンヌなら帰って下さいね
0296nobodyさん
05/01/15 02:25:29ID:wU+VTC+T説明不足ですみません。どこまで書けばいいのか分からず・・・
コードは25、26行目でよろしいでしょうか?
$this->total = trim(array_shift($nums));
foreach ($nums as $tmp) {
となっています。ファイル名はcommon.phpとなっています。
0297nobodyさん
05/01/15 02:26:58ID:???それだけじゃわかんないなぁ。
25行目のarray_shiftの引数が配列じゃないんだろうから、
その引数となってる変数をスクリプトから検索してみて、
定義されてるところを見てみたらいいかな。
0298nobodyさん
05/01/15 02:27:53ID:???0299nobodyさん
05/01/15 02:31:00ID:???とりあえず、>297の言うとおり$numsが一番最初に出てくる場所を探してみ。
foreachのエラーはそれを解決したら自ずと解決するような気がする。
どっかから落としたものなら、配布元に聞くのが一番手っ取り早いんだけどな。
0300nobodyさん
05/01/15 02:32:36ID:wU+VTC+Tで、せっかく答えてくださったのになんなんですが、
phpスクリプトのことはさっぱりなので・・・、作者さんに問い合わせてみることにします。
今後の為にこれから勉強していきます。
初心者が設置するなって感じですが、どうしても使いたかったものなので・・
すみません。
0301nobodyさん
05/01/15 02:36:47ID:wU+VTC+T>298さん
エキサイトで訳してみると
シフトを整列させてください、
供給された根拠のない議論とでました。
>297
phpファイルがたくさんあるんですが、
全部を検索すれば良いのでしょうか?
設置の際のエラーではなく内部のものなら、作者さんに問い合わせた方が良いとのお答えなので、
質問しつつ検索してみます。
0302nobodyさん
05/01/15 02:42:53ID:???まぁ…くだ質だから答えるけど、
common.phpから探してみてないようなら、
他のファイルでcommon.phpをincludeしてたり
requireしてたりするスクリプトの中から検索する。
ただ、検索して見つかったところで何もわからないんだったら、スレ違いになるのかな。
0303nobodyさん
05/01/15 02:52:08ID:???警告 : array_shift()関数: /*/*/***.phpの25行目、引数は配列でなければなりません。
> Warning: Invalid argument supplied for foreach() in /*/*/***.php on line 26
警告 : /*/***.phpの26行目、foreach()に正しくない引数が渡されています。
0304nobodyさん
05/01/15 03:00:36ID:wU+VTC+Tcommon.phpには$numsも$tmpの文字はありませんでしたし、
ほんとに何も分からない状態です。
さわって変なことになるのは怖い気もするので大人しく作者さんからの回答を待ってみます。
その間、皆さんのレスを元にphpマニュアルと格闘します・・
お手数お掛けしてすみませんでした。
お知恵を貸してくださった方々に感謝致します。
0305nobodyさん
05/01/15 06:26:23ID:8dAi9b4Cなんかめんどっちぃなぁ。よく忘れてエラー出まくり…_| ̄|○
0306nobodyさん
05/01/15 06:31:03ID:???0308nobodyさん
05/01/15 19:10:23ID:6vuxoIpW0310nobodyさん
05/01/15 19:44:59ID:6vuxoIpWなるほどよく分かりました・・・ってチッガーウよ
トラック/ \”ックでは無くてトラック/ \゚ックです
0311nobodyさん
05/01/15 19:59:06ID:???0312nobodyさん
05/01/15 20:10:10ID:vOEqqKZU最近HPを作り始めたのですが、
FTPで画像をアップロードしてHPに貼り付けた画像の、
プロパティを見たらURLが普通のフォルダ名とかになってるんです、
どうやってHTTPになるんですか?
教えてください。お願いします
0313nobodyさん
05/01/15 20:11:20ID:???反応を返す意味合いだと。
0317nobodyさん
05/01/15 20:26:02ID:???0318nobodyさん
05/01/15 20:54:30ID:6vuxoIpWトラックバックやった〜〜スマン。
パソコンの解像度が悪いんや、わてがわるいんとちゃうで。
まっ下らない質問のスレだからゆるしてたもれ。
0319nobodyさん
05/01/15 20:56:54ID:B4Q78ZKG超初心者の典型だな
imgタグのURLの書き方を勉強しなおした方が良いぞ
0320nobodyさん
05/01/15 20:58:00ID:???0322nobodyさん
05/01/16 11:46:47ID:iPhUnTdVPHP中心に今後使用していきたいのですが、
資格の基本情報技術者でプログラム開発言語って
アセンブラとC言語どっちがよかとでしょうか?
アセンブラが一番点を取りやすいそうですが、
個人的にはC言語を身に付けたいと考えています。
PHPやる場合、どっち覚えた方がとくでしょうか?
ヨロシコ!!
0324nobodyさん
05/01/16 13:15:37ID:???PHPなら1週間で覚えられる。
PHPを勉強して「こんなもの・・・」というものを漠然とつかんだら、Javaに移行した方がいい。
実際に使うのも、資格をとるのも、飯の種にするにも、Javaの方が数段有利。
Javaを覚えれば、CやC++なんかも簡単に使えるし、万が一、今後C#やらが伸びてきたとしてもほぼ完全に対応できる。
逆に、PHPを覚えてもPHPしか使えない。
0326nobodyさん
05/01/16 13:37:54ID:???は同意するが、
>Javaを覚えれば、CやC++なんかも簡単に使える
はちと無理がないか。Javaを覚えてるならCやC++で同じように使える
といえそうな部分は、PHPを覚えてるならCやC++も…と同じ程度で
そんな程度で「CやC++を使える」なんて言えないでしょ。
0327nobodyさん
05/01/16 13:38:39ID:???0328nobodyさん
05/01/16 13:42:15ID:???0329nobodyさん
05/01/16 14:02:46ID:???そうかなぁ〜
変数の扱いとか、その他の文法や作法はJavaもC++も同じだと思うけどな。
PHPとC++やJavaの文法や作法には大きな違いっていうか、根本的に違う。
文法・作法を覚えれば、あとは、その言語固有のロジックを覚えればいいだけであって、それは至極簡単なもの。
もっとも、アルゴリズムやデザインパターンを網羅した上での話しだが。
0330329
05/01/16 14:03:44ID:???○それは至極簡単な事
0331324,329
05/01/16 14:11:53ID:???Fortran(大学の授業)
C(大学の授業&実務)
VB(趣味)
C++&VC++(実務)
Java(実務)
Delphi(実務)
Ruby(趣味)
PHP(趣味)
C#(今後万が一の為・趣味)
0332nobodyさん
05/01/16 14:46:09ID:???手続き型(C)、関数型(Lisp)、論理型(Prolog)をやっときゃいい、
って話で終わっちゃうからなぁ。
オブジェクト指向型でSmalltalkも混ぜてもいいかな。
(未来は分からんが今現在の)WebProg向けの入り口としては
Java、PHP、Perlのどれかでいいっしょ。
上の3つともアセンブラで必要になってくる知識(レジスタとか)は
(制御できないという意味で)必要無いし、演算子や制御構造の書き方に
慣れるくらいの心積もりでCをやっとけばいいんじゃないかなぁ。
で、続くようならプログラム板へGo。
0334nobodyさん
05/01/16 15:18:51ID:???0335nobodyさん
05/01/16 15:38:31ID:???0336nobodyさん
05/01/16 16:04:24ID:???PHPは、XXXX.phpにコードを埋め込みますが、これは、そのページが呼び出される度にコンパイルしているのでしょうか?
JavaServletやJSPでは、コンパイルされるのは、最初に呼び出された一回のみで、
あとは、コンパイル済みのクラスファイルを用いるんですが、PHPの挙動はどうなんでしょう。
呼び出される度にコンパイルしていたんじゃ、かなり不合理っていうか鯖側の負担が大きいと思うのですが。
いらぬ心配なんでしょうか?
0337nobodyさん
05/01/16 16:24:56ID:???0338nobodyさん
05/01/16 16:29:24ID:???どのJSPを使ってるんだ?
0339nobodyさん
05/01/16 16:37:09ID:???厳密さを求めるとアレだが、Servletのライフサイクルを考えればそう表現しても問題ないだろ。
#それを言い出すとOSの実装上、PHPも逐次処理のインタープリタではなくなってしまうが・・
0340nobodyさん
05/01/16 16:47:16ID:???フォートラン最強
0341nobodyさん
05/01/16 16:50:14ID:???だからコンパイラとか(中間)コードキャッシュのソリューションが存在する。
有名どころだとZend社かionCube社の製品群。
0342nobodyさん
05/01/16 16:53:52ID:???0343nobodyさん
05/01/16 16:55:42ID:???Javaは汎用言語だからね。
そもそもPHPのように高速に逐次コンパイルできる仕様じゃないから負荷比較するのが間違い。
って比較対象フォトランかよ
0344nobodyさん
05/01/16 17:05:37ID:???0345336
05/01/16 17:10:54ID:???う〜ん、効率の面から言えば、どっちもどっちって事なんですね。
PHPは、簡単に作れて、簡単に実行できるが、変数などの定義が甘くまたインタプリタ言語のため、処理と表示が完全には分離できない。
昔作ったプログラムや他人が作ったプログラムをメンテする時は、地獄を見るかも。
Javaは、別途tomcatなどのサーブレットコンテナが必要になるが、
制御・処理・表示のロジックが完全に分離できてメンテが楽。
時間が経過しても、他の人が作ったものでも、見れば一発で何が何をしているかがわかる。
やはり、対象プロジェクトの規模によって使い分けるのが正解のようですね。
0346nobodyさん
05/01/16 17:29:51ID:???0348nobodyさん
05/01/16 17:32:25ID:???0349nobodyさん
05/01/16 17:36:02ID:???0350nobodyさん
05/01/16 18:53:47ID:???array_walkですと第二引数に渡す関数の第一引数を参照で渡せばよいのですが
function change_val(&$val, $key)
{
$val = $val + 5;
}
array_walk($array, 'change_val');
同様にキーを変更する時に参照で渡せばできるかもと考えやってみたのですができませんでした。
function change_key($val, &$key)
{
$key = 'prefix_' . $key;
}
array_walk($array, 'change_key');
foreachを使って新しい配列に入れるということならできるのですが
上手くできる方法・関数をご存知の方がいらっしゃいましたらご教授頂けないでしょうか。
どうかよろしくお願い致します。
0351nobodyさん
05/01/16 19:13:50ID:???0352nobodyさん
05/01/16 23:22:06ID:???ありがとうございました
0353nobodyさん
05/01/17 01:03:31ID:???0354nobodyさん
05/01/17 01:20:21ID:???0356nobodyさん
05/01/17 11:25:58ID:???どこぞの商用ライブラリなんかが出してくるという話もあったけど、
オフィシャルで対応してくれるのはありがたいな。
ファイルI/Oなんかも扱ってくれる予定はないんだろか。
6) Exceptions
SPL provides a set of standard exception classes each meant to indicate a certain problem type.
class LogicException extends Exception
class BadFunctionCallException extends LogicException
class BadMethodCallException extends BadFunctionCallException
class DomainException extends LogicException
class InvalidArgumentException extends LogicException
class LengthException extends LogicException
class OutOfRangeException extends LogicException
class RuntimeException extends Exception
class OutOfBoundsException extends RuntimeException
class OverflowException extends RuntimeException
class RangeException extends RuntimeException
class UnderflowException extends RuntimeException
0357281
05/01/17 11:55:23ID:???すみません、>>281の件ですが、本当にわからないんです。
XMLに詳しい方どなたか教えてください。
SimpleXMLのバグならバグであきらめますので・・・
0358nobodyさん
05/01/17 14:09:25ID:SCuNVMMV0360nobodyさん
05/01/17 14:27:40ID:???まぁマジレスすると、他の職種よりは、学歴は重視されない。
っが!若かりしころに勉強を放棄して低学歴になったような奴では、絶対にできない仕事。
こつこつマジメに努力してようやく勤まるか?って感じだ。
そもそも、こつこつマジメに努力するような奴に低学歴は少ないってこった。
学歴不問でプログラミングを仕事にするには、
最低 C/C++/VC/VB/Javaの5つの言語、そしてRDBを根本から理解し完全マスターしない限り採用されないだろ。
PHPだけ覚えても全くの無駄。
0361nobodyさん
05/01/17 14:44:23ID:???サーバサイドだとVB/VBSは微妙だなあ。うちがMSで固めた仕事をあんま受けてない所為かも知れんけど。
*nixの勉強したほうがよさげ。PCばっかり弄ってて大学卒業できませんでしたって履歴は諸刃ですなあw
0363358
05/01/17 16:26:52ID:???専門学校より大学のほうがよさそうですね。
親切さんどうもでした。
0364291
05/01/17 17:32:22ID:???原因がわかったので書いときます。
$word,$wstart,$wendのいずれかに" / "(スラッシュ)があったから
エラーが起きてたみたいです。
Warning: Unknown modifier 'a'
→</a>を含んでいた
Warning: Unknown modifier 't'
→</td>を含んでいた
preg_match()を理解してなかったのが原因か・・・汗
まだまだPHP初心者だけどがんばります。
0367nobodyさん
05/01/17 18:30:39ID:???http://jp.php.net/preg_quoteを参照のこと。
0368nobodyさん
05/01/17 22:24:38ID:???等の日付を名前にして作られたファイルが存在すれば
<p> 2005/01/17</p>
と、正しい日付表示を書かせる方法は無いでしょうか?
0369nobodyさん
05/01/17 22:47:04ID:???0371nobodyさん
05/01/17 23:54:36ID:rYi/da2g板違いでしたらご指摘お願いします。
perlで書かれたあるプログラムを使おうとすると以下の様なエラーが出ます。
Can't locate Config/Simple.pm in @INC
色々とサイトを巡ってConfig::Simple;とやらをインストールすれば改善されることがわかったのですが、
ppm install Confing-Simple
でインストールすることが出来ませんでした。
行き詰まってしまったのでどなたか手を差し伸べていただけないでしょうか。
宜しくお願いします。
0372371
05/01/17 23:55:39ID:???申し訳ありません。
0373nobodyさん
05/01/17 23:56:58ID:???0374だいすけ ◆P0//Gikoow
05/01/18 00:14:23ID:5AwhPu67コマンドラインのphpで、
foreachのなかでsprintfしたら、
<sprintfの中身の最後に「\n」いれる>か<sprintfの直前に print "\n";をいれる>かしないと、
無限ループしてしまいます?
いや、sprintfの返値をprintしても表示されないから、無限ループじゃないのかな?
これってバグですかね???
0375nobodyさん
05/01/18 00:37:49ID:???0378nobodyさん
05/01/18 00:56:19ID:VNKbaYT9バイナリとしてDBに入れたいのですが、
バイナリとして取り出す関数がないようです。
いったんファイルに落としてから読み込むしか方法はないのでしょうか?
0379nobodyさん
05/01/18 01:16:44ID:???0380262初心者
05/01/18 11:14:56ID:RETkWYlswarningですが、出るときと出ないときがあって
あまりよくわからなくなってます。エディタは「サクラディタ」ってのを
使っています。warning部分ですが、
$password = $_POST["password" ];
POSTされたものを変数に入れるところです。
たまに出るくらいなのであまり気にしてませんけど。
0381nobodyさん
05/01/18 11:50:56ID:???わざわざ「初心者」って書いてあるのを見ると「ムカッ」っと来るのは俺だけですか?
0385nobodyさん
05/01/18 17:31:03ID:bJTxBb/gif ($chara == "a"){}
上のようにアルファベットとの比較なら可能なのですが、これが
if ($chara =="あ"){}
とひらがなになると比較ができません
なにか方法はないでしょうか?
0388385
05/01/18 18:25:58ID:bJTxBb/gご指摘の通りどうやら文字コードが違うのが原因のようです。
$charaにはmysqlのデータベースから読み込んだ文字列が入っています。
mysqlのdefault-char-setはsjisで、phpのファイルもsjisで保存してあるんですが
原因がよくわかりません。php.iniの設定も見直す必要があるんでしょうか?
0389nobodyさん
05/01/18 19:17:33ID:???JavaScriptはブラウザ側でスイッチ切られちゃうけどPHPは有無を言わさず
佐波川で実行しちゃうでしょ?
0390nobodyさん
05/01/18 19:29:03ID:???0395nobodyさん
05/01/18 22:31:12ID:yzPT/NPiやsha1関数と比較してみたのですが、アルファベットや数字だけなら
JSもPHPも同じハッシュ値になるのですが、ひらがなや漢字などの入力
ではJSとPHPでハッシュ値が違っているのですが、これは何が原因なのでしょう?
0397nobodyさん
05/01/18 23:56:43ID:???0398nobodyさん
05/01/19 00:00:54ID:/wCL7OotPHP4+Apache1+FreeBSD4という組み合わせでやってます。
この環境だと、LAN内でのファイルアップロードが非常に遅いのです。
OSがRedHat9だとLANとしての速度が出ます。
Sambaもインストールしてあるのですが、これもLANの速度でコピーできました。
Apacheを2に代えてみても現象変わらず。
PHP側の設定で速度を速くするものがあるのでしょうか?
RedHatのphp.iniをそのままコピーしてFreeBSDの方へ入れてみたのですが
やはり現象変わらずでした。
0399nobodyさん
05/01/19 00:04:13ID:???0401nobodyさん
05/01/19 14:02:01ID:???その変数から関数のコールって可能?
$func = 'getAAA';
xxxxx($func); <-- getAAA()がコールされる
0402nobodyさん
05/01/19 14:15:46ID:???ttp://jp.php.net/manual/ja/functions.variable-functions.php
もっと間単にできるよ。基本部分のマニュアルには目を通しときましょう。
わかりづらくなるから、限定的に使うのが吉だと思うけどね。
0403nobodyさん
05/01/19 14:16:48ID:???無理じゃないの?
どうせ、予め特定できる関数なんだから、
もう一個、関数呼び出しようの関数でも作って、
その中でcaseでも使って個々の関数を呼び出せば?
ってか、なんか関数の使い方間違ってない?
>xxxxx($func); <-- getAAA()がコールされる
0409nobodyさん
05/01/20 03:24:24ID:???どうすればいいのでしょうか。
0412nobodyさん
05/01/20 03:58:44ID:???0413nobodyさん
05/01/20 15:29:09ID:n01d2Bgc�Aを
array(5) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> int(4) }
のような結果にするにはどのように書き換えればよいですか?
$array = array(3,4,2,0,1);
var_dump($array); // ←�@
$array = sort($array);
var_dump($array); // ←�A
�@の結果
array(5) { [0]=> int(3) [1]=> int(4) [2]=> int(2) [3]=> int(0) [4]=> int(1) }
�Aの結果
bool(true)
0414nobodyさん
05/01/20 15:40:59ID:???0416nobodyさん
05/01/20 16:50:43ID:???↑
0417nobodyさん
05/01/20 20:48:12ID:???0418nobodyさん
05/01/20 20:59:14ID:???0421nobodyさん
05/01/21 00:20:31ID:???引数の順番とかあきらかにまちまち
0422nobodyさん
05/01/21 09:50:11ID:???each(), reset(), current(), next()などの内部ポインタを使った
古い関数群からはじまって、あとからあとから考えなしに
そのとき便利だろうと思いついた関数が追加されまくっているのだよ。
統一性も思想もなにもあったもんじゃないぞ。
0423nobodyさん
05/01/21 10:13:18ID:???0424nobodyさん
05/01/21 11:48:09ID:???仕様変更による書き換えに苦しんでいまつ・・・・・・
すまん、裏が白いチラシがなかったもんで。
0425nobodyさん
05/01/21 11:53:33ID:3XYRh2Rh自動でログファイルを生成する方法はないでしょうか?
今は空ファイルをコピーすることで対応しています。
$getmon = gmdate("Ym", time()+9*3600);
$monlog = "./log/$getmon.log";
$empdata = "./log/empty.log";
if(!file_exists("$monlog")){
copy($empdata, $monlog);
chmod($monlog, 0666);
}
しかし、この方法だとエラーが起きてしまいます。
何かいい方法があれば教えてください。
0427nobodyさん
05/01/21 12:17:21ID:???0428425
05/01/21 12:19:23ID:3XYRh2Rhaとは?なんでしょう?
PHP5だとOKなんですがPHP4だとだめみたいで、
ちなみnレンタルサーバーがPHP4なんで…orz イミナイ
0429425
05/01/21 12:22:16ID:3XYRh2Rhパーミッションなんたら…
./log/200501.logファイルが見つかりません
ちなみにempty.logのパーミッションは666です。
0430nobodyさん
05/01/21 12:52:06ID:???あるサイト(全部php4とmysql)で、
IDとパスワード(Basic認証でなくformの)で入れるページがあり、
入ったあと、特定のURLのページのソースをまるごとゲットしたいのですが、
どう新しくスクリプトをかけばいいのでしょうか?
なお、「あるサイト」と「新しいスクリプト」は同じサーバ上にあり、
fopenやソケット通信は許可の設定になってます
0431nobodyさん
05/01/21 13:05:57ID:???http://jp2.php.net/manual/ja/function.fopen.php
のオプションかと。
でもそれ以前に
"./log"ディレクトリが見えてないとおもわれ
>>430
http://pear.php.net/package/HTTP_Request
これでも使ってブラウザをエミュレートしれ。
ログイン→受け取ったCookieをセットして欲しいページへリクエスト
でできるかと
0434430
05/01/21 14:01:27ID:???で、lynxコマンドはいってません(いれなれない)
で、wgetははいってます。
systemコマンドは使えます。
なお、4.9-RELEASE FreeBSD です
0435430
05/01/21 14:14:16ID:???0436nobodyさん
05/01/21 14:29:35ID:???ならperlでやれ。
それかPEARを入れられない理由を述べよ。
入れられなくてもコードを参考にすることはできるんだから見てみれば。
#我ながら支離滅裂w
0437nobodyさん
05/01/21 14:29:57ID:???それができるならperlのをphpに書き直せばいいだでは。。。
ttp://jp2.php.net/manual/ja/function.fsockopen.php
でソケット開いてHTTPをしゃべればいいだけかと
0439nobodyさん
05/01/21 14:57:51ID:???var_dump($a); //←natsort前
$a[] = natsort($a);
var_dump($a); //←natsort後
natsort前
array(4) { [0]=> string(2) "12" [1]=> string(2) "40" [2]=> string(1) "9" [3]=> string(2) "01" }
natsort後
array(5) { [3]=> string(2) "01" [2]=> string(1) "9" [0]=> string(2) "12" [1]=> string(2) "40" [4]=> bool(true) }
以上のように、配列を並び変えを行ったところ、
並び替えは正常に行われるのですが、配列の一番最後に「[4]=> bool(true)」のようなものが加わってしまいます。
natsort後の結果を
array(5) { [3]=> string(2) "01" [2]=> string(1) "9" [0]=> string(2) "12" [1]=> string(2) "40" }
のようにするには、どのようにすればよいのでしょうか?
0441nobodyさん
05/01/21 15:03:53ID:???0443nobodyさん
05/01/21 15:08:05ID:???コード以前の質問はここ。
具体的なPHPのコードに関する質問は↓
【PHP】質問スレッドpart26【php】
http://pc5.2ch.net/test/read.cgi/php/1103636095/
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
★ ★
☆ 新規質問は名前欄・メール欄を空にして行え ☆
★ ★
☆ 質問者が返信する際は、名前欄に「最初に質問したレス番号」を入れろ ☆
★ ★
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0444nobodyさん
05/01/21 16:48:01ID:???$hone = new Hogehoge;
$_SESSION['hoge'] = &$hoge;
ではできないんでしょうか?
0446nobodyさん
05/01/21 17:25:19ID:???0447nobodyさん
05/01/21 18:00:33ID:???なんか前にやって失敗した気がするんだけど
効率面ではどうなんだろう
0448425
05/01/21 18:11:38ID:???ひと月に一度だけ生成するので。
書き込みもしたほうがよいです?
0449軟式PHP
05/01/21 18:12:36ID:???0451nobodyさん
05/01/21 18:19:27ID:???0452nobodyさん
05/01/21 18:46:00ID:???0455425
05/01/21 20:53:04ID:???ごめんなさいm(_ _)m
0456nobodyさん
05/01/21 22:20:06ID:???PHPのバージョンアップをする際、
バックアップしておくべきファイル・フォルダはどれですか?
0457nobodyさん
05/01/21 22:24:55ID:???0458nobodyさん
05/01/21 22:33:11ID:???バージョンアップで上書きされるファイル全部。
該当ファイルの調べ方は、インストールの仕方によるし
場合によっては調べる方法が無い(or泥臭い方法しか無い)場合もある。
0459nobodyさん
05/01/21 23:56:35ID:???アップしたファイルをpostgresにラージオブジェクトとして登録したり
取り出すといった一連の動きは分かったのですが、
私の作った物だとダウンロード後、すべて同じ名前になってしまいます
ダウンロードする時に名前を変える方法がどうしても思い浮かびません
どなたか救いの手をお願いします
(以下作成した物)
<a href="./Get_Object.php?loid=".$file_loid."&type=".$file_type.">ダウンロード</a>
<以下、Get_Object.php内部>
/* PostgreSQL接続 */
$database = 接続用の自作関数が入ります;
/* HTTPヘッダの送信 */
header("Content-Type: ".$_GET['type']);
/* ラージオブジェクトの取得 */
pg_query($database, "BEGIN");
$handle = pg_lo_open($database, $_GET['loid'], "r");
pg_lo_read_all($handle);
pg_lo_close($handle);
pg_query($database, "COMMIT");
/* PostgreSQL切断 */
DB_Close($database);
0462nobodyさん
05/01/22 00:18:26ID:???早速の返事ありがとうございます
move_uploaded_file は確かアップロード時に
TEMPに入っているファイルを指定ディレクトリに
移動させる物ですよね?
今回はラージオブジェクトとしてファイルを管理したいのですが
ダウンロード時にも使用する事は出来るんでしょうか?
0463nobodyさん
05/01/22 00:23:03ID:???>>461が言ってるようにheaderを使ってファイル名をブラウザに渡す。
こんな感じ。
header ("Content-Disposition: attachment; filename=$filename");
ブラウザの種類やバージョンによって効果が無い場合があるので、
更に幾つかヘッダーを付け足す必要があったかと。
0465nobodyさん
05/01/22 00:32:52ID:???>>461
なるほど!
調べたら出てきました
ありがとうございます
>>463
そうですね
header("Content-Disposition: attachment; filename=ファイル名");
で行けそうですありがとうございます
>>464
ファイル名はアップロード時に$_FILES['file']['name']
で取ってきて同じくDBに保存してます
0466nobodyさん
05/01/22 04:20:49ID:j0dmlBBwお分かりになる方よろしくお願いします
先ほどまではDBに$_FILES['file']['name'] でとった名前をそのまま
上げていたのですが、バグ取り中に日本語名のファイルをアップロード
しようとしたらInvalid EUC_JP character sequence found (0x8e51)
と言われて怒られてしまいました
とりあえず怒られている内容はEUC_JPなファイル名じゃないからダメって
事だと思ったので、エンコード関数使ってエンコードして見たり
色々して見たのですがさっぱりダメでした
仕方ないので
ereg('[0-9A-Za-z._]',$flie_name)
として英字だけに限定しようかとも思ったのですが、今度は半角英数
だけを入れても上記の判定の部分で止まって上手く行きませんでした。
ファイル名はテキスト文字と何が違うのでしょうか?
回避策を知ってる方教えていただけ無いでしょうか
0467nobodyさん
05/01/22 05:01:04ID:???Invalid 〜 は、PHPではなくPostgreSQLが出してるエラーで、
「EUC-JPのキャラクタセットでは無いものを見つけた」という意味。
enctype=multipart/form-data の時の入力文字に関しては
PHPのバージョンによって違いがあって、
ttp://www.php.net/manual/ja/ref.mbstring.php#mbstring.http あたりを参照。
0468nobodyさん
05/01/22 07:34:39ID:???>色々して見たのですがさっぱりダメでした
>色々して見たのですがさっぱりダメでした
0469nobodyさん
05/01/22 12:46:47ID:???こんな感じ。
name<>title<>comment<>date<>ip
name<>title<>comment<>date<>ip
name<>title<>comment<>date<>ip
0472nobodyさん
NGNGデータベースへのパスその他フィールド名などは間違ってないんですが、何で?
0473nobodyさん
05/01/22 13:33:43ID:???lヽ ヽ ヽヽヽ ヽ
ノ::::゙、 ヽヽヽヽ ゙、
ヘ:::::::::;;: -‐''''""( )1
゙、::::::::-‐''""" ̄"'i
:V;;||:::: '~ニ=ッ, r='| >>472
i!f !::::: ゙、i ピィエィチピィ
i!ゝ!:::: ‐/リ PHP 曰く、
i::/:、 :::、 /''ii'V オレと関係ねーじゃん
ハ::::‐-、_"''il|バ''
0474nobodyさん
05/01/22 15:28:44ID:T4jXVQZNスマン、書くとこ間違えたな。しかも自己解決したし。
スレ汚しスマソ
0476nobodyさん
05/01/22 18:38:07ID:vE/RUN9v$year = 2005;
$month = 01;
$day = 22;
って分けるにはどうしたらいいんですか?
0477nobodyさん
05/01/22 18:49:03ID:qBMTLwGZ下記のようなサンプルプログラムを実行してみましたが、リダイレクトされません。
何か別に設定が必要なのでしょうか?
<?php
header("Location : http://XXXXXX/XXXX/XXX.php");
?>
0479476
05/01/22 18:57:00ID:???0481nobodyさん
05/01/22 19:01:37ID:???$full = '20050122';
var_dump(strftime('%d',strtotime($full)));
0482nobodyさん
05/01/22 19:02:18ID:???.htaccessで自作のエラー画面を表示させています。
どのファイルへのアクセスなのかを調べたいため、
エラーページをPHPで作成して解析を埋め込んだのですが、
肝心のファイル名を取得することができません。
$_SERVER['PHP_SELF']を使用すると
エラーファイルの絶対パスが返り、
せめてリファラからファイルが推測できないかと
$_SERVER['HTTP_REFERER']を使ってみましたが、
こちらは値が取れないようです。
0486nobodyさん
05/01/22 19:19:04ID:???このサイトを見て、FlashとPHPの連携を作ってみました。
ランキングに送信した時のURLが名前がnullpo、記録が100の場合
jump.php?name=nullpo&meter=100
となるのですが、このURLの名前と数値を変えるだけで自由にスコアが登録できてしまいます。
これを防ぐにはどのようにすれば宜しいのでしょうか?
0487nobodyさん
05/01/22 19:20:03ID:???その記述ではLocationヘッダは送信されない。
まあ視力検査だな。
0489480
05/01/22 19:31:20ID:???>484
Apacheのことは微塵も思いつきませんでした。
0490nobodyさん
05/01/22 19:32:45ID:???>482の間違いでした
>480さん、騙ってスマソ
0492486
05/01/22 19:36:04ID:???素早い御返答有難う御座います。
申し訳御座いませんが、もう少々詳しく教えて頂け無いでしょうか。
0495nobodyさん
05/01/22 20:07:05ID:???0497nobodyさん
05/01/22 20:33:31ID:???0498nobodyさん
05/01/22 20:54:19ID:???ふつうにできました。 ありがとうございました。
0501nobodyさん
05/01/22 23:50:03ID:???>>500
ありがとうございます。
できました。
神様です。
のべ数週間も悩んでました。
本当にありがとうございました。
0502nobodyさん
05/01/22 23:57:58ID:/UkhSKsYそれを読んでいて衝撃を受けた。
PEARやらSmartyやらよくわからんが、色々と使いまわせる便利な機能がたくさんあるらしい。
今までhtml埋め込みとしてしか使ってきていなかった俺はなんだったんだ。
必死になってlogファイルで管理してきたのに。。。
かなりのカルチャーショックだったよ。やっぱりそういう便利な機能って使っていったほうが良いのかな?
0504nobodyさん
05/01/23 00:02:14ID:???結局使って覚えるor使えるようにならないとだめだな。。。
でも、環境によってソフトの有無もあるしなぁ…(´・ω・`)
0505だいすけ ◆P0//Gikoow
05/01/23 00:38:01ID:myKN9oc6他人がつくったソースを参考として拝見して、勉強したいのですが、
「このソースを参考にしたらいい」っていうおすすめあります?
なお、速さ重視より保守性重視なほうがいいです。
ふとおもったんですが、pearとかどうなのかな???
0506nobodyさん
05/01/23 00:44:58ID:???0507nobodyさん
05/01/23 02:29:17ID:???0508nobodyさん
05/01/23 04:42:16ID:/gwBl8VqPHP-Editorって使いやすい?
http://phpspot.net/php/pg%82o%82g%82o%83G%83f%83B%83%5E%28forWin%29.html
0509nobodyさん
05/01/23 06:56:11ID:???いまはじめてつかってみたけど、エクリプスとくらべて利点がわからない。
それに、中途はんぱにhtmlも挿入できるゆおうだけど、xhtmlになってないからきらい。
nl2beだってきょうび、<br />に変換するのに
0510509
05/01/23 06:56:38ID:???0511nobodyさん
05/01/23 10:51:10ID:???使いにくい、Standaloneと通常版を統合しろっツーの。
機能も中途半端。Eclipse使ってるほうが100倍マシ。まぁ一番いいのはDreamWaeverMXを使うのが最強だけどな。
0512nobodyさん
05/01/23 11:15:50ID:???0513nobodyさん
05/01/23 13:30:59ID:???0514nobodyさん
05/01/23 14:15:20ID:???他のエディタのショートカットに慣れてると使いにくい(使えない)。
マップ設定の変更が出来ればましになるのに…
ただメモ帳使ってどうこう言ってる香具師には薦めても良いかも。
0515nobodyさん
05/01/23 14:38:45ID:???0516nobodyさん
05/01/23 14:39:50ID:???改訂新版 〇礎PHP?
本屋のWebコーナーに派手に飾られてて、読んだらPearやらSmartyやら…
オブジェクト指向とDBがフルパワーで使われているから俺の好みじゃないけど
# $$hogeを初めて知った
0517nobodyさん
05/01/23 14:49:08ID:???で、hoge=1の処理をした後に、元の/xxx.phpに戻そうと、最後の?>の前に
header(Location:"http://xxxx.jp/xxxx/xxx.php");
と入れたのですが、上手く戻りません。
どうしたらいいのでしょうか
0519nobodyさん
05/01/23 14:59:17ID:???0520nobodyさん
05/01/23 15:00:09ID:???PHPプラグラミング基礎の基礎かも?
>>517
それって、書き間違いじゃなければ parse errorとか出るでしょ?
それをおいて置いて、HTTP1.1での正しい書き方は
ttp://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 参照
0521nobodyさん
05/01/23 15:00:39ID:???hoge=1があるときの処理で何か出力してるんじゃないの?
//xxx.php
if($_GET['hoge']==1){
/* hoge=1のときの処理 */
}
/* 通常の処理 */
でいいんちゃうんかと。
別ファイルならincludeするとか。
0522520
05/01/23 15:01:57ID:???0525nobodyさん
05/01/23 15:04:18ID:???\ __ /
_ (m) _ピコーン
|ミ|
/ .`´ \
('A`) 体技:スルーを覚えた!
ノヽノヽ
くく
│
│ ≡ ('('('('A` )
│≡ 〜( ( ( ( 〜)
│ ≡ ノノノノ ノ サッ
↓
0526nobodyさん
05/01/23 15:07:26ID:???そんなふうに考えていた時期が俺にもありました
0527nobodyさん
05/01/23 15:19:42ID:???0529nobodyさん
05/01/23 15:30:28ID:???0530nobodyさん
05/01/23 16:21:15ID:r42gxvN50531nobodyさん
05/01/23 16:23:27ID:???0532nobodyさん
05/01/23 16:43:02ID:???0533nobodyさん
05/01/23 16:54:00ID:???自演乙
0535nobodyさん
05/01/23 18:05:48ID:???0536nobodyさん
05/01/23 19:45:53ID:???ここにphp解析ツールがあるそうなのですが、このサイトの何処にあるのでしょうか…?
0537nobodyさん
05/01/23 19:52:25ID:AEkMnpHL何を解析したいんだ?
0538nobodyさん
05/01/23 19:54:01ID:???いただきたく思っております。
宜しくお願いいたします。
0539nobodyさん
05/01/23 19:56:04ID:pZ0WjdwA他の人のサイトのphpです。
ネットランキング等のphpもソースを見ても<phpの部分が見えず、普通に表示されるだけで分からないので
0541nobodyさん
05/01/23 20:43:12ID:8DNR8uBkgoogle.com
yahoo.co.jp
↓
*.com
*.co.jp
こんな風にはじめの"."ドットまでをワイルドカードに変換したいのです。
マルチバイト関数で探したんですが適切なものがわかりませんでした。
何を使えばいいでしょう?
0542nobodyさん
05/01/23 21:21:02ID:???www.yahoo.co.jpとかは*.yahoo.co.jpでいいの?
info.hoge.yahoo.co.jpとかは*.hoge.yahoo.co.jpでいいの?
何をしたいのか知らんけど前から"."を数えても
gTLDやccTLDは得られるとは限らないよ。
0543nobodyさん
05/01/23 21:23:00ID:???ただ、良いコーディングが思いつかないorz
0544nobodyさん
05/01/23 21:25:33ID:???0545541
05/01/23 21:27:14ID:???0546nobodyさん
05/01/23 21:30:06ID:???まさかブラウザの「ソースを見る」機能使ってるんじゃないだろうな…
PHPってのはサーバー側で「HTMLソース」を生成するためのアプリなんだが。
JavaScriptなんかと勘違いしてないか?
「サーバーサイドスクリプト」でgoogle検索しなさい。
0548nobodyさん
05/01/23 21:38:55ID:???普通にphpのソースが見れたら、それはセキュリティホールと呼ばれるものです。
つか、ついこの間のPHPのセキュリティホールもその類だったな。
0549541
05/01/23 22:19:29ID:???てか出来ない…orz
ここのスクリプトって文字化けしない?
−PHP Analyzer−のana.php
0550nobodyさん
05/01/23 22:21:42ID:???0551nobodyさん
05/01/23 22:35:48ID:???ereg_replace("([[:digit:]]+)(.[[:graph:]]+)","*\\2","yahoo.co.jp");
0552551
05/01/23 22:42:02ID:???ereg_replace("([[:alpha:]]+)(.)([[:graph:]]+)","*\\2\\3","yahoo.co.jp")
0553nobodyさん
05/01/23 22:43:21ID:???ereg_replace("([[:alpha:]]+)(.[[:graph:]]+)","*\\2","yahoo.co.jp")
0554nobodyさん
05/01/23 22:44:50ID:???0556nobodyさん
05/01/23 23:22:04ID:???そのままの状態で書き込みを行うのではなく
一度「書き込み中です」のような画面を出して
書き込みが終わったら元の画面に戻そうと思っているんですけど
どうしたら言いのでしょうか?
exit()を使って止めてからボタンを押して再スタートは出来ました
(これは思っているものとは違うのでやめました)
sleep()かなと思い使用してみたのですが駄目でした
他になにか言い方法があるのでしょうか?
0558nobodyさん
05/01/23 23:58:27ID:???さっそくの返信ありがとう
HTMLというのはどういう風に使えばああなるのでしょうか?
javascriptか何かなのでしょうか?
CGIが吐き出したHTMLを見てもjavascriptが使われているような
様子も無く、どうしたら良いのか分かりませんでした
申し訳ないです
0561nobodyさん
05/01/24 00:07:32ID:???∠__∠__∠__∠_.∠_../ | __∠__∠__∠l__
∠__∠__∠__∠__∠__/| | ∠__∠__∠__∠__/.|_
. ∠__∠__∠__∠_.∠_./| |/| ∠__∠__∠__/ /| |/|
. / / ./ / / /! |/| | | / / /| ̄ ̄| |/| |
| ̄ ̄| ̄ ̄| ̄ ̄| ̄ ̄| ̄ ̄| |/ |/| |_| ̄ ̄| ̄ ̄| |__|/| |/|
__ _| |__|__|__|__|/| ̄ ̄| | ∠__|__|__l/ /| |/| |
. / / | ̄ ̄| |_|/| | | |__|/| | | | | ̄ ̄| |/| |/
| ̄ ̄| ̄ .| |/| | | |__|/| | | |__|__|__|__|/| |/|
. ___|__|__.| ̄ ̄| |_|/ | | |__|/ | | | | | |/| |
. / / / | |/|. |__|/| .|__|__|__|__|/| |/
| ̄ ̄| ̄ ̄| ̄ ̄| ̄ ̄| |. | | | .|_| | | |__|/
|__|__|__|__|/ |__|/ |__|__|/
0562nobodyさん
05/01/24 00:58:13ID:???0563nobodyさん
05/01/24 00:58:56ID:???性器→正規
0564nobodyさん
05/01/24 01:01:39ID:???0565nobodyさん
05/01/24 01:07:29ID:???性器表現でググってるうちは永遠に判らない。
0566nobodyさん
05/01/24 02:10:21ID:???その通りだ。すげぇw
html埋め込み言語としてしか使ってなかった俺には衝撃的だったよ。
全部を鵜呑みにする気はさらさらないけど、使える程度に覚えたい。
まだ学生だしね
0567nobodyさん
05/01/24 06:42:18ID:???0568nobodyさん
05/01/24 07:11:18ID:???いい言い訳だ
0569nobodyさん
05/01/24 08:01:01ID:???0570nobodyさん
05/01/24 12:23:06ID:???557さんに教えてもらった方法でページの切り替えは上手く出来るのですが
やはり裏側で書き込み処理をさせつつ表示は
「おまちください」にする事が出来ませんでした
理想な処理の流れとしては
書き込みボタンを押す→即お待ちください表示→書き込み→元の画面
としたいのですが
私が作ったものだと
書き込みボタンを押す→書き込み→お待ちください→元の画面
になってしまいます。
表示処理を書き込みの前にもっていったりもしたのですが
どうしても駄目でした。
何か簡単な方法で終わりそうな気はしているのですが
どなたかヒントだけでも良いので教えてもらえませんか?
0571nobodyさん
05/01/24 12:24:04ID:2FuT6qHeほんとうにくだらない質問ですが、ちょっと上の方でもやり取りがありましたが、気になったので質問します。
サーバ上にあるPHPのソースは、本当に丸々読まれる事はないのでしょうか?
例えば、Flashならば、Flashgetなどで丸々取得する事が可能ですが、
PHPソースは、そういうツールを使っても普通の方法(セキュリティホール以外)では保護されるんでしょうか?
現在、とあるサイトを開設する為に、PHPを使っています。
PHPの内部で、リモートアドレスを読み取り192.168のローカルアドレスなら
そのページのコンテンツを編集できるようにしてあるのですがこれは危険でしょうか?
また、この$_SERVER['REMOTE_ADDR']で取得できるIPアドレスの偽装?というのは可能なんでしょうか?
編集用のPHPファイルは、Apacheの基本認証がかかったディレクトリに置いてあるのですが少々不安です。
0572nobodyさん
05/01/24 12:43:00ID:???0573nobodyさん
05/01/24 12:45:34ID:???それでいいんじゃないの?2chも書き込みが終了した後に
お待ちくださいだと思うんだけど。サーバーの処理速度の
問題だと思うけど。
0574nobodyさん
05/01/24 12:52:18ID:???>PHPソースは、そういうツールを使っても普通の方法(セキュリティホール以外)では保護されるんでしょうか?
はい。
>そのページのコンテンツを編集できるようにしてあるのですがこれは危険でしょうか?
以下のような人が来たら危険でしょう。
>また、この$_SERVER['REMOTE_ADDR']で取得できるIPアドレスの偽装?というのは可能なんでしょうか?
世の中にはできる人もいます。
>編集用のPHPファイルは、Apacheの基本認証がかかったディレクトリに置いてあるのですが少々不安です。
IPアドレスだけ見て編集できるのなら認証を通過して編集用ファイルに
アクセスできるようにしてるわけでしょ?
だったらそのディレクトリに置いてもあまり意味がない。
0575nobodyさん
05/01/24 13:14:32ID:2tfulrKk[1] => A01 B01,
[2] => A02 B02)
っていう配列を
array = ([B00] => A00,
[B01] => A01,
[B02] => A02)
のように変換するにはどうしたらよいですか?
0576nobodyさん
05/01/24 13:21:35ID:???やはり処理速度の問題ですか…
javascriptで何とかするしかないのでしょうかね…
もう一ひねり頑張ってみます
ありがとうございました
0577nobodyさん
05/01/24 13:54:39ID:???foreach ($array1 as $value1) {
list ($value1, $key) = explode(" ", $value1);
$array2[$key] = $value2;
}
0578nobodyさん
05/01/24 13:55:53ID:???list ($value2, $key) = explode(" ", $value1);
0579nobodyさん
05/01/24 14:00:43ID:???ありがとうございます。安心しました。
別にPHPのソースを見られたら、一気に終わりというわけではなく、俺自身の精神的な問題です。
もちろん編集用のファイルへのアクセスは、IPアドレスがローカルIP、且つ、パスワードで基本認証通過後にアクセスできるようにしてあります。
0581nobodyさん
05/01/24 18:24:58ID:esy2MU0nもしくは、ip記録配布phpを教えてください
0583nobodyさん
05/01/24 18:43:25ID:2tfulrKk下の記述だとうまくいきません。何故でしょう?
ちなみに出来ればドットも飛ばしたいんですが。
誰か教えてください。
foreach ($du_ary as $value) {
if(!ereg($value, "/")) {
list ($used, $user) = explode("\t", $value);
$disk_use[$used] = $user;
}
}
0586nobodyさん
05/01/24 19:02:51ID:2tfulrKkif(!ereg($value, $slush)) {
ってしてみました。スラッシュの正規表現が分からなかったです。。。
\/ ???
0587nobodyさん
05/01/24 19:07:34ID:???if(X()){ return; }
if($a == 0){
A; X(); B; X(); C; X(); D; X();
$a = 1;
}elsif($a == 1){
E; X(); F; X(); G; X(); H; X();
$a = 2;
}elsif($a == 2){
・・・・・・・・・・・
}
return;
}
これを実行するとBの直後でsub Xに戻るとA→B→C→D→C→Dと
実行されなかった部分が繰り返されてしまうんですが、
最後の実行されなかったC→Dは繰り返さずに
A→B→C→Dだけまた繰り返すにはどうしたらいいんでしょうか?
returnの数や位置がいけないのかな・・・必ず残った分が実行されてしまうんです。
なにとぞご教授の方よろしくお願いします。
0588nobodyさん
05/01/24 19:39:09ID:esy2MU0nip取れませんでした。
0589nobodyさん
05/01/24 20:03:05ID:???その程度のスキルなら、
その掲示板の配布元に聞くよろし。
その掲示板のスクリプトも判らん俺らが、
君に教えられる事は>>582まで。
0591nobodyさん
05/01/24 20:44:02ID:EEgoJdla0592nobodyさん
05/01/24 21:52:36ID:???いや、だから間違ってると思うよ
以下参照して勉強してね
tp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
0593nobodyさん
05/01/24 22:22:04ID:???0594nobodyさん
05/01/24 22:39:00ID:???こちらで質問させてください。
print <<<EOT
<a href="javascript:fnc_a('----');">
EOT;
上記の文を作ったのですが、ヒアドキュメントを使うことが禁止されています。
上記の文をヒアドキュメント無しで同じ働きにするには、どうしたらいいでしょうか?
0595nobodyさん
05/01/24 22:48:54ID:Fh1K805sどこからアクセスしたか・そこからどれくらいアクセスがあったか、わかるようにしたいです。
紙媒体などにURLが乗ってそこから来たときも取れるように。
http://xxxxxx.jp/baka
で、.htaccessで404のとき、count.phpを通して、indexへリダイレクト。
という方法で、やってみたところリファラ取れませんでした。
もしかして根本的に間違ってますかコレ・・・
http://xxxx,jp/count.php?hoge=baka
のように他のファイルを叩かせずに、jp/baka
だけで取得したいです。
何か良い方法はないでしょうか?
0597594
05/01/24 23:39:00ID:???正直言って上の文のどこにprintを加えればいいのかわかりませんでした・・。
0599597
05/01/25 00:08:34ID:???とりあえず手元の参考書を読んでいるんですが・・・。
"と'が含まれる文をくくる方法はヒアドキュメント以外に見当たりません・・・。
qw()でくくってみたのですがエラーが発生しました。
0601nobodyさん
05/01/25 00:35:07ID:???0602597
05/01/25 00:47:17ID:???ありがとうございました。お騒がせしました
0603nobodyさん
05/01/25 01:15:39ID:???0604nobodyさん
05/01/25 01:16:14ID:???マニュアル読んでもphp.ini見てもそんな項目見当たらないんだが
そもそも制限かける意味も理由も見当たらないけど
0606597
05/01/25 02:12:46ID:???>605 そうでした
0607nobodyさん
05/01/25 02:25:38ID:???0608ぶるじょあ ◆yEbBEcuFOU
05/01/25 02:27:48ID:???∧_∧ バッ
( ・3・)_,ノて 素晴らしい夜の始まりだYO!
,/::) ゚づ:::::::(
/::Ο l |:::::::::/
^べ(_)_,)⌒゙
0610nobodyさん
05/01/25 02:32:04ID:???0611nobodyさん
05/01/25 07:35:51ID:???0612nobodyさん
05/01/25 10:19:47ID:???php+GDで、画像のサムネイルを表示させるスクリプトを作ろうと思っているのですが、
デジカメの画像をそのまま使用すると、サイズが大きすぎるせいか、メモリエラーになってしまいました。
また、枚数が多いとどうしても動作が重くなってしまいます。
今やっている方法は
1・ディレクトリの中にあるイメージファイルの一覧を取得
2・一覧をwhileでまわして、<img src="resize.php?hoge.jpg">のようにして書き出し
3・resize.phpで画像を読み込み、imagecopyresizedで小さくして出力
というようにしています。
もっと動作を軽くする方法がありましたら教えてください。
0613nobodyさん
05/01/25 10:27:07ID:???リクエストの度に処理しているんじゃ効率悪すぎ。
未処理ファイルを対象に定期的にバッチまわして、
あらかじめサムネールを作成しておくべき。
0614612
05/01/25 10:33:46ID:???早速のレスありがとうございます。
>リクエストの度に処理しているんじゃ効率悪すぎ。
やっぱりそうですよね…。
なんとか他の方法は無い物かと思ったんですが、なさそうなので諦めます。
これで踏ん切りがついた感じです。
ありがとうございました。
0615>>595
05/01/25 11:51:06ID:7O2DMtBFです。。おねがいします
0616nobodyさん
05/01/25 11:59:26ID:???count.phpをindex.phpにしてDirectoryIndexの先頭にindex.php。
http://xxxxxx.jp/?bakaでいいだろ。
0617nobodyさん
05/01/25 12:02:53ID:???http://xxxxxx.jp/?baka
$query_str = getenv('QUERY_STRING'); //$query_str = 'baka'
0618595
05/01/25 12:22:56ID:7O2DMtBFこういうことができたんですね。
ありがとうございます、勉強になりました。
0619nobodyさん
05/01/25 12:37:13ID:???0620nobodyさん
05/01/25 13:18:14ID:???0622nobodyさん
05/01/25 13:56:35ID:???0623nobodyさん
05/01/25 16:31:42ID:???0624軟式PHP
05/01/25 16:38:46ID:???0625595
05/01/25 16:41:32ID:7O2DMtBFえ、漏れですか?
無事出来上がりましたありがとうございます。
0626595
05/01/25 16:43:01ID:???0629nobodyさん
05/01/25 17:47:42ID:yhBhnvi/mb_substrですが、
http://www.php.net/manual/ja/function.mb-substr.php
によると、二番目と三番目の引数は、バイト数じゃなくて文字数となってるんですが、
なぜか、バイト数で処理しているようです。
さらには、日本語の真ん中でぶった切ってくれます。
mb_convert_kanaやmb_convert_encodingはちゃんと動いているので、インストール
は問題ないと思うのですが....
文字コードをEUCに変換してやってもダメでした
エロイ人おしえてください
0630nobodyさん
05/01/25 18:00:04ID:???つーかまともに質問もできない低脳は質問スレに来るなよ
0632なちじょあ ◆yEbBEcuFOU
05/01/25 18:08:03ID:???0633nobodyさん
05/01/25 18:19:22ID:yhBhnvi/なにげに親切だね
0634nobodyさん
05/01/25 18:52:27ID:ctOxddYx�@----------------------------
User-agent: searchpreview
User-Agent: ia_archiver
Disallow: /
�A----------------------------
User-Agent: ia_archiver
Disallow: /
User-agent: searchpreview
Disallow: /
ある複数のロボットを指定したい場合どちらが効果がありますか?
googleで検索すると�Aは、ロボットが来てしまうような事があるらしいのですが
ご教授お願いいたします
0637nobodyさん
05/01/25 19:08:25ID:???0638DNS未登録さん
05/01/26 09:43:42ID:???OSはWinXPSP2です。
ぐぐったのですがサイトによってかいてあることが違ってうまくいきません。
どなたかうまくいった方が折られましたら、参考にしたサイトを紹介していただけないでしょうか?
あと成功例でも結構ですどうぞよろしくお願いします。
0639612
05/01/26 10:12:33ID:???作成して置く形に変更しました。
しかし、デジカメの画像(2048*1536、約1MB)の画像をまとめて処理しようとすると
PHP Fatal error: Allowed memory size of 10485760 bytes exhausted とエラーが出てしまいます。
大体、10枚程度までなら処理できるのですが、それ以上はエラーになりました。
やっている事は
1・ファイルの一覧を取得
2・whileで回して「$src = imagecreatefromjpeg($file);」として読み込み、xとyのサイズを取得&サムネイルのサイズに設定
3・$img = imagecreatetruecolor($set_x,$set_y);としてイメージ生成
4・imagecopyresampled($img,$src,0,0,0,0,$set_x,$set_y,$x,$y);出力
5・whileの最後にimagejpeg($img,$output_file); imagedestroy($img); imagedestroy($src); として、繰り返し
これでは正常にメモリがクリアされないのでしょうか?
何か解決法がありましたらお願いします。
0640軟式PHP
05/01/26 10:27:52ID:???0641612
05/01/26 10:54:07ID:???うーん「php」「gd」「メモリ」「Allowed memory size」などを中心に探してみましたが
php.iniの最大メモリを変更する以外の対策は見あたりませんでした。
その解決法とはどんな物ですか?
0642nobodyさん
05/01/26 12:01:46ID:???ってかさ、どうせ画像はローカルPCからアップするんでしょ?
だったら、PC上で一括してサムネール作っちゃえばいいんじゃないの?
その手のフリーウェアは探せば山ほどあるんだし。
全てをサーバ上でやろうとするから…
0643nobodyさん
05/01/26 12:36:32ID:???メモリリークでしょうかね
imagedestroyでメモリが開放されてないような感じですが。
PHPのバージョンとgdのバージョン(PHPバンドル版か別にインストールしたものか)は何でしょうか。
0644612
05/01/26 13:43:17ID:???いや、それを言われちゃうと身も蓋も…。
ブラウザで全部すませたいな、と思うので。
>>643
PHP Version 5.0.3、GD 2.0.28です。
imagedestroyで解放されていないわけでは無いようです。
imagedestroyしてやると10枚程度までいけますが、しないと数枚でアウトでした。
0645nobodyさん
05/01/26 14:11:37ID:???画像が大きすぎ。
たまたま10枚目あたりの画像のメモリー消費量が多いだけちやうんかと。
共有鯖なら>>642の意見に賛成。
自鯖なら好きなだけメモリー増やせ。
0646612
05/01/26 14:31:13ID:???10枚目がたまたま、という訳では無いです。
で、メモリを増やすにせよなんにせよ、クリアされなくてはいけないハズなのに
クリアされていないというのは何だか気持ち悪いので、このスクリプトを
実際に使うかどうかは別として、原因がわかったら教えてください。
私も自分で解決できたらまた来ます(´・ω・`)
というわけで、またしばらくコチコチやってきま。
ありがとうございました。
0647軟式PHP
05/01/26 14:44:05ID:???あとphp.iniの箇所をもうちょい進むと
ttp://ns1.php.gr.jp/pipermail/php-users/2002-January/004929.html
までいくっしょ。これで解決したわけだし試してみたら?
あと、$srcってimagecreatefromjpegの戻り値だよね。
imagedestroyする必要あるのかな。
0649軟式PHP
05/01/26 14:50:53ID:???検討してみてはどうだろう。
0650612
05/01/26 15:05:44ID:???とりあえずhttpd.confでは駄目でした(´・ω・`)
なので、ImageMagickも検討してみたいと思います。
しかし、なんかこのまま終わるのも癪なので、もうちょとやってみます(笑)
どうもです〜m(_ _)m
0651nobodyさん
05/01/26 15:08:28ID:???0652nobodyさん
05/01/26 15:36:18ID:???>>639の処理手順は合ってるから、それ以上手の付け様は無いよ。
>>642が言ってるように根本的なやり方を変えるか、
>>647が言ってるような運用方法で軽減するかくらいしかない。
まぁ、jpegで1MBのファイルならメモリに展開した時に
10MB(php.ini設定か?)を超えてもおかしくないわな。
0653nobodyさん
05/01/28 00:31:06ID:o6jrdeht0654nobodyさん
05/01/28 03:39:06ID:???0655nobodyさん
05/01/28 07:24:10ID:???0656nobodyさん
05/01/28 09:47:33ID:???0657nobodyさん
05/01/28 12:18:03ID:???まあエロいことはいいことだ。
0658nobodyさん
05/01/28 13:14:06ID:???0659nobodyさん
05/01/28 13:39:35ID:???0660nobodyさん
05/01/28 14:35:04ID:xpvGFlmuくだらない質問でごめんなさい。
DBからUTF-8形式のデータを呼び出し、それらをfopenを使ってファイルに書き込むときに、ファイルの出力コードが勝手にShift-JISとなってしまいます。
mb_convert_encodingやutf8_encodeなどを使って、DBから呼び出した個々のデータを全てUTF-8にしても、ファイルそのものはShift-JISのままになってしまいます。
どなたか、ご対応の程よろしくお願い致します。
0662660
05/01/28 16:21:53ID:xpvGFlmuご回答ありがとうございます。
php.iniについてはレンタルサーバなので正確に中身を見る事は出来ませんが、ユーザが指定できるので、そこに記述した内容をコピーしますね。
language = "neutral
default_charset = "UTF-8"
mbstring.internal_encoding = "UTF-8"
mbstring.http_output = "UTF-8"
このような設定にしています。
他のページ等に記載していることを、見よう見まねで書いてみたのですが、やはりファイル出力はShift-JISのままとなってしまいます。
ご対応の程よろしくお願い致します。
0663nobodyさん
05/01/28 17:20:33ID:???0664nobodyさん
05/01/28 17:31:02ID:???fopenでファイルに書き込む際に自動的にエンコード変換を
掛けるなんてことはないのだがな。その「勝手にShift-JISとなってしまいます。」
や「DBにはUTF-8で格納されてる」つうのはどうやって確認してる?
あとDBMSの機能で、PostgresなんかはDBクライアントの機能として
MySQL4.1/5.0はDBサーバの機能としてデータのIN/OUTの際にエンコードの変換を
行うことができるので、その辺が影響して無いか確認。
影響してればPHPに取り込んだときには既に変換されてる
0665660
05/01/28 17:49:52ID:xpvGFlmuご回答ありがとうございます。
phpinfo()の該当する部分というのはこの辺りの掲載すればよろしいのでしょうか?
PHP Core
Directive Local Value Master Value
default_charset UTF-8 UTF-8
output_buffering 0 0
output_handlerno value no value
mbstring
Japanese support enabled
Directive Local Value Master Value
mbstring.detect_orderno valueno value
mbstring.encoding_translationOffOff
mbstring.func_overload00
mbstring.http_inputpasspass
mbstring.http_outputUTF-8UTF-8
mbstring.internal_encodingUTF-8UTF-8
mbstring.languageneutralneutral
mbstring.substitute_characterno valueno value
不要なものがありましたら、申し訳ございません。
また、必要なものがございましたら、お手数ですがご指摘の程、よろしくお願い致します。
0666664
05/01/28 17:52:18ID:xpvGFlmuご回答ありがとうございます。
勝手にShift-Jisになる確認方法の件ですが、fopenにて生成されたファイルをエディタ(Macユーザのためmiというエディタを使っています)で開いたところ、Shift-Jisになっているのです。
また、DB(MySQL)の件については、UTF-8でエンコードされたWebページのフォームから文章を入力し、PEARを使って
DBにInsertしています。そして、それを同じくUTF-8でエンコードされた違うWebページで出力させているのですが、文字化け等はおきずに正しく表示されています。
また、phpmyadminをutf-8に設定した状態でDBのデータを確認してみても、ちゃんと表示されております。これにより、MySQLのデータIN/OUTにおけるエンコード変換の影響はないと判断していますが、いかがでしょうか?
またCURLを使い、yahoo.co.jpを取り込み、同じようにfopenを使ってファイル出力してみたのですが、この場合は
EUC-JPとなるようです。
以下がスクリプトです。
$curl = curl_init("http://www.yahoo.co.jp");
$fl = @fopen('hoge.php', 'w');
curl_setopt( $curl,CURLOPT_FILE,$fl );
curl_setopt( $curl,CURLOPT_HEADER,0);
curl_exec( $curl );
curl_close( $curl );
fclose( $fl );
ご指摘の程、よろしくお願い致します。
0667660
05/01/28 17:53:37ID:xpvGFlmu申し訳ございません。名前のところに664と書いて投稿してしまいました。
0668nobodyさん
05/01/28 18:15:00ID:???エディタのエンコードの自動判定が判定しきれなくて
間違ったエンコードと認識してる可能性がある。
バイナリエディタを入手して文字コードで確認してみてください。
データのIN/OUTにおいて変換されてしまってる感じではなさそうだな…
0669nobodyさん
05/01/28 23:37:03ID:ZphJTcdtですが、色を変えることはできますか?
0671nobodyさん
05/01/29 16:48:34ID:y8zIQf8h接続中に何回か実行クエリを発行してもpg_closeしないと
結果が反映されてないみたいんですが、そうゆうものですか?
AUTO COMMITのようなことはできますでしょうか?
0672nobodyさん
05/01/29 17:05:42ID:???0674nobodyさん
05/01/30 01:48:28ID:???以前WIN環境(2k)のapache(1.3.27)+php(4.2.3)で作ってたんですが
今度同じWIN環境でapache(2.0.50)+php(5.0.1)に移行したら
プリント関数が使えなくなりました。
php.iniに「extension=php_printer.dll」も追加し、phpのextフォルダにも
php4環境からphp_printer.dllをコピって置いたんですが本来なら
このフォルダにあるはずだし、apacheを再起動しても
「指定されたモジュールが見つかりません」と怒られます。
ひょっとしてphp5になってからプリント関数は無くなったんでしょうか?
0675nobodyさん
05/01/30 01:56:07ID:???http://jp2.php.net/get/pecl-5.0.3-Win32.zip/from/a/mirror
0677nobodyさん
05/01/30 05:45:15ID:79430JFW特定の文字列を抜いて、
別のphpから表示したいのですが、可能でしょうか?
具体的にどんな方法が考えられますでしょうか?
例:a.html(abcdefという内容)
b.php a.html からdefを抜いて、
abcと表示。
0678nobodyさん
05/01/30 06:01:06ID:???0680nobodyさん
05/01/30 10:21:00ID:/AMMda4BFOMAの動画を再生させようとしてるんだが
http://www.hoge.com/hoge.asf
へ飛ばしたらバイナリはいてたのでIMGタグ使ってみたがやはり表示されない
なんか特別なFOMA用のタグでもあるのかね?
0681nobodyさん
05/01/30 10:29:29ID:???<a>か<object>だった希ガス
0682nobodyさん
05/01/30 11:04:05ID:???携帯用の動画は画面サイズがきまっています。
前に俺も携帯用の配信してた時にちょっとつまずいた。
正確な解像度はわすれたけど、ちょっと調べれば、わかったと思うよ。
あとは、.asfにアンカータグでリンクを張れば再生される。
0683nobodyさん
05/01/30 11:09:01ID:???nl2brという関数を知ったのですが、
ereg_replace("\n", "<br>", $hoge);
とするのと何か違いがありますか?
0684nobodyさん
05/01/30 11:31:53ID:???nl2brは、\nや\rを置き換えるんじゃなくて、挿入します。
\n \rを区別しないし、消されることも無い。
つまり、改行コードが「\n」のみだったら、以下と同じになります。
ereg_replace("\n","\n<br />",$hoge);
0685nobodyさん
05/01/30 12:01:05ID:???0686nobodyさん
05/01/30 14:30:09ID:???0687nobodyさん
05/01/30 14:56:28ID:???0688nobodyさん
05/01/30 15:23:51ID:???もっというと、
ereg_replace < preg_replace << str_replace < nl2br だぁね
0689nobodyさん
05/01/30 15:54:32ID:???もまえら、例えば低機能なカウンターや掲示板作ろうと思ったら、
どれくらいの時間かかる?
俺はかなりの初心者で数日かかりそうなんで、
参考までに聞きたい
0690nobodyさん
05/01/30 16:14:16ID:???掲示板なら60分
ちなみにPHP暦1ヵ月
0691nobodyさん
05/01/30 16:25:33ID:???完成に近くなると、設計をやり直したくなる。
0692nobodyさん
05/01/30 16:55:15ID:???0694nobodyさん
05/01/30 17:36:14ID:???CとPerlを9ヵ月、JAVAを2ヵ月
カウンタって簡単に壊れるものなのか?よっぽどの人気サイトか、貧弱鯖か…
# とかほざきながら、自サイトのカウンタはFC2のレンタルだったりする
>>689
ガンガレ
0695EK
05/01/30 17:44:10ID:4qD6156yPHPで簡単なアカウント認証システムをつくってます.
登録するときに,IPを調べて2重登録を防ぐということがしたいわけです.
しかしプロクシを通されると,どう対処すればよいかわかりません.
非匿名のプロクシなら,環境変数でHTTP関連の変数を調べればわかるのですが,
完全な匿名のプロクシだと検出できないんです.
エロいひと教えてください.
0697nobodyさん
05/01/30 17:59:46ID:???また、hoge.php?val
とアクセスした時、valはどうすれば取得できますか?
0698nobodyさん
05/01/30 18:21:56ID:???(ほとんど)共通する定型句があります。これのテンプレを別途作製し、PHPで
呼出せば、すっきりしてイイかなと思いました。
1) こういうPHPの使い方ってOK?あるいは目立ったデメリット等ありますか?
2) もしOKなら、DOCTYPEなんかもテンプレに含めて良いもんなんでしょうか?
0701nobodyさん
05/01/30 19:04:45ID:???PHP側の関数は何を使えばいいのでしょうか。ご教授願います。
0702nobodyさん
05/01/30 19:48:56ID:79430JFWfopen??
0704nobodyさん
05/01/30 21:19:37ID:???$obj =& $_SESSION['hoge'];
って書いてるんだけど何か美しくないですよね。
実際には$_SESSION['hoge'][][]と配列になっているので一行にすると
長くなりすぎる気がします。
なんかスマートな書き方がないものでしょうか?。
0705nobodyさん
05/01/30 21:44:08ID:vJLTbH4Q0706nobodyさん
05/01/30 21:44:11ID:???ログインした時点でアカウントをロックすればいいだけだよ
ただ、ログアウトせずにブラウザ閉じると再ログイン出来ないけどね
タイムログアウト処理も加えておけば良いかと
0707705
05/01/30 21:45:22ID:???$ip = getenv('REMOTE_ADDR');
でサイトを訪問してくれた人のIPアドレスをゲットできるけど、
さらに一歩推し進めてその人の国籍やプロバイダー情報も
検出してくれる機能って無い?
0708nobodyさん
05/01/30 22:03:29ID:???0709nobodyさん
05/01/30 22:04:35ID:???0710nobodyさん
05/01/30 22:29:31ID:???Perlの場合拡張子をcgiにすればできましたが、PHPの場合拡張子をphpにしても覗けてしまいます
0712nobodyさん
05/01/30 22:39:00ID:6jokYwmwが、わかる関数はありますか?
0718nobodyさん
05/01/30 23:31:34ID:???$_SERVER['HOGEHOGE']って、
それぞれメリットデメリットってあります?
0721nobodyさん
05/01/31 07:58:22ID:???0723nobodyさん
05/01/31 09:20:28ID:???値も指定しているようなものでしょ
ただ、キーを検索した場合に何を返すかの問題だね
値を返そうにも唯一ではない場合もあるしね
返すならintしかないかな
0724nobodyさん
05/01/31 09:28:29ID:???0725nobodyさん
05/01/31 09:31:13ID:???0726軟式PHP
05/01/31 09:35:12ID:???0727nobodyさん
05/01/31 09:46:40ID:???0728nobodyさん
05/01/31 11:18:56ID:???0729nobodyさん
05/01/31 11:23:38ID:???0730nobodyさん
05/01/31 11:24:12ID:???0731nobodyさん
05/01/31 11:33:35ID:???0733nobodyさん
05/01/31 11:59:06ID:???0734nobodyさん
05/01/31 13:22:53ID:???0735軟式PHP
05/01/31 14:36:44ID:???ttp://www.isl.cs.gunma-u.ac.jp/~shingo/make/7line/7line.html
0736nobodyさん
05/01/31 14:51:10ID:???0737nobodyさん
05/01/31 15:46:10ID:???0738nobodyさん
05/01/31 17:09:20ID:???0739nobodyさん
05/01/31 21:59:26ID:MOMf8Zhx0740nobodyさん
05/01/31 22:36:49ID:???それまでは正常に作動していました。
そして先日は集計結果が日に日に減っていく(0という数字が消されている?)という
事態にみまわれています。しかし入力データは無事に落ちています。
何もしていないのに、表示とプログラムが書き換えられているかのようです。
どのような理由が考えられるでしょうか。アホな質問で申し訳ありませんが、
どなたか考えられる原因を教えてください。よろしくお願い致します。
0742nobodyさん
05/01/31 22:48:34ID:???time関数では秒数の差になってしまうので…
0744nobodyさん
05/01/31 22:59:19ID:???(相対パス、絶対パス 両方できればありがたい。)
0747nobodyさん
05/01/31 23:28:08ID:???0749nobodyさん
05/02/01 17:07:48ID:???作りたいのです。手元の解説書を見る限りfopenでウェブページの取得ができそうなのですが
方法が分かりません・・・(パスにhttpで始まるURLを入れればよい、と書いてあるんですが・・・)
<?php
$target = fopen("http://pc5.2ch.net/test/read.cgi/php/1105218084/", "r");
print $target;
?>
結果は「Resource id #2」です。どこかがおかしいのか、この方針では無理なのか(その場合
どういう方針を使えば目的の動作をさせられるのか)ご存じの方いらっしゃいましたら
よろしくお願いします
0750nobodyさん
05/02/01 17:18:03ID:???http://jp2.php.net/function.fsockopen
0751749
05/02/01 18:04:45ID:???するために使う話だったのですね。。。
ソケット自体使ったことがないのでちと色々勉強してみまつ。どもでした
0752nobodyさん
05/02/01 19:07:38ID:???それを好きな文字に置き換えて出力する方法を考えています。
$text = $_REQUEST['text']; //フォームから文字列を取得
if(strstr($text,"特定の文字列")) //その文字列に、特定の文字列があったら、
と、このあとどうしたらいいか思いつきません。
何かアイデアをお持ちであれば御教授ください。
「こんな簡単なことも思いつかねえのか」と思うかもしれませんが、
どうぞよろしくお願いします。
0754753
05/02/01 19:22:17ID:???もう、なんていうか、自分がつくづく馬鹿だと思いましたよ・・・
思いつくも何もそのための関数が・・・
とにかくどうもありがとうございました。
0755nobodyさん
05/02/01 20:58:13ID:???0756nobodyさん
05/02/01 22:25:42ID:???0757nobodyさん
05/02/01 22:31:08ID:???0758nobodyさん
05/02/01 22:34:53ID:???とあって、これを00123としたいのですが、
$hoge=sprintf(%05u123);
sprintf関数はこの使い方で良いでしょうか
0760nobodyさん
05/02/01 23:31:54ID:b2vi9Wz/掲示板で書き込んだ文字が下のように化けるのはなぜでしょうか・・。
ホ。ク・ク・ァ・テ・ネ・ウゥ`・ケ・ソゥ`。、・�ヂ・ケ。ケ
あとこの文字列を元の分に直せますか?
0762760
05/02/02 00:27:22ID:???表示もShift JISでしています。
でスクリプト中で
mb_convert_encoding($hoge,"SJIS","auto");
してみたんですが化けてしまいます。
さっさとeucにした方が幸せですかね。。
0764nobodyさん
05/02/02 00:55:56ID:mszEXFeWうまくいきません。
$a="2005051000000000201";
$b="2005051000000000301";
if ($a == $b) {
echo "NG";
} else {
echo "OK";
}
上記a,bの内容の場合、OKを表示してほしいのですが、
NGが表示されます。
どうすればよいのでしょうか。
0766nobodyさん
05/02/02 01:23:30ID:???でいいんじゃない?
0767nobodyさん
05/02/02 01:42:19ID:???===は、試してみます。
そもそも、このような長い数値の比較(""で括っているので文字列だと思うのですが)は
普通行わないものなのでしょうか。
0768nobodyさん
05/02/02 02:01:57ID:???文字列として比較したいのか、数値として比較したいのかが分からない。
文字列として比較したいのであれば、stringキャストでは意味が無い。
「===」を使っても正常な結果は出るが、一番確実なのは、
echo strcmp($a,$b)==0 ? "OK" : "NG";
0769nobodyさん
05/02/02 08:16:47ID:???中身が違うんだからNGが正常
0770nobodyさん
05/02/02 09:22:00ID:???0771nobodyさん
05/02/02 10:22:47ID:???返って来ません・・・
ディレクトリ、ファイル共にothersはrxとしてあるのですが、どうして
なのでしょうか?
0772771
05/02/02 10:26:35ID:???ファイル名間違いでした・・・失礼
0773nobodyさん
05/02/02 10:29:33ID:3u11bF/6別のサーバでApacheでPHP4を動かそうとしたところ、
「Internal Server Error」と言うエラーが出ました。
どのようにすれば、今までと同様に動かすことが出来ますか?
Apacheのバージョン : Apache/1.3.22
パス : 「/usr/local/lib/php.ini」
0774nobodyさん
05/02/02 10:38:28ID:g6qcRaEPその情報だけで分かるやつなんて居ないと思うよ。
0775nobodyさん
05/02/02 10:39:28ID:???Webサーバのログを見れる環境なら、それを見る。
単純なPHPスクリプト(例えば<?php phpinfo(); ?>等)でもエラーがでるか試す。
htaccessファイルが不正でエラーだしてる気もするがなぁ。
0776nobodyさん
05/02/02 10:44:50ID:???0777nobodyさん
05/02/02 10:50:07ID:v52PFDLHやっぱりEUC?
0778軟式PHP
05/02/02 11:22:17ID:???Core 2使ってるけど、基本文字コードをLANG="ja_JP.eucJP"にして
phpのほうもEUCで使ってて問題なかったよ。
標準をUTF-8のままにしてPHPのみEUCの動作は分からないから試してみてくれ。
0779nobodyさん
05/02/02 11:25:03ID:???現行のHPのHTMLにそのままディレクトリで埋め込めて
そのまま決算できるショッピングカートが見つからない
恐らくPHPでなら可能だとは思うのだけれど
そういう現行のデザインを崩さないまま決算ページに行けるようなPHPは
ありますかいな?
0782773
05/02/02 11:49:36ID:3u11bF/6[Wed Feb 2 11:40:07 2005] [error] [client xxx.xxx.xxx.xxx] File does not exist: /home/xxx/xxx/xxx/xxx/
↑
ログフォルダにはこのようなエラーが記録されておりました。
プロバイダ(Webサーバ)で使っているPHPスクリプトを、
別のサーバでApacheでPHP4を動かそうとしたところ、
「Internal Server Error」と言うエラーが出ました。
どのようにすれば、今までと同様に動かすことが出来ますか?
Apacheのバージョン : Apache/1.3.22
パス : 「/usr/local/lib/php.ini」
0783773
05/02/02 12:04:21ID:3u11bF/6お騒がせしました。
0784779
05/02/02 12:41:16ID:???PHPかクッキーに残したプログラム。当然ページ移動してもカートとしては
動かないと話にならないし
自分で書いたけど失敗した
PARLとPHPが混在してたのかも
仕方ないから探したけど見つからず
どこの板になるかな?
0785nobodyさん
05/02/02 12:53:40ID:???0786nobodyさん
05/02/02 13:14:42ID:???「商品情報が書かれているHTMLファイルを特定のディレクトリの下に置いておくと、
不思議なチカラが働いてショッピングカートとして機能するスクリプトが欲しい。
決算ページ以降は別の仕組みを用意するから、そのページより前の仕組みを探している。」
PHPやJavaScriptを使うにしても、手作業で既存HTMLに手を加える
(or HTMLをparseして適切なデータを埋め込むスクリプト)ことになるから、
そんな面倒なことをするより、出来合いのショッピングカート+データ入力 に移行した方が良いと思われ。
さっきまで人の書いたサンプルコードを探すのに「こんなCGI探してます」スレを見てたんだけど、
ショッピングカートはゴロゴロ転がってたから、この辺りからスタートしてみそ。
ttp://pc5.2ch.net/test/read.cgi/hp/1106947416/2
0787nobodyさん
05/02/02 13:22:00ID:???0788nobodyさん
05/02/02 13:24:55ID:???0789nobodyさん
05/02/02 16:03:36ID:???rewind($fp); //←エラー
fputs($fp, "$data \n"); //←エラー
fclose($fp); //←エラー
ファイルに$dataを記録する時に、指定のファイル「xxx.dat」が無い場合
「Supplied argument is not a valid File-Handle resource」
というメッセージのエラーが「←」の3行に発生します。
指定のファイルが無い場合「xxx.dat」を生成し
上のエラーを出さないようにするには、どこの設定をどのように変えればよいですか?
尚、「xxx.dat」がある状態で実行するとエラーは出ずに正常に記録されます。
0791nobodyさん
05/02/02 16:11:39ID:???0792nobodyさん
05/02/02 16:12:51ID:???エラー処理しろ
http://jp.php.net/fwrite
設定はphp.iniに思い切り書いてある。
スクリプトから変更するにはerror_reporting()
0793nobodyさん
05/02/02 16:13:32ID:???fopen後に$fpに正しいリソースが代入されているか検査しろ。
fopenでファイルが開けなかった(作成されなかった)理由はfopenの前の@をはずして確認しろ。
0795789
05/02/02 18:01:24ID:???さっそく
ini_set ( string varname, string newvalue)関数を使って一時的に設定を変更し、
ファイルを存在しないファイルを作れるようにしようと思います。
その時「varname」に入れる値は、どれであるか教えてください。
的外れな質問をしていたら指摘してください。
0797nobodyさん
05/02/02 18:23:50ID:???どこを見てんだ?回答者の意見を少しは参考にしたらどうだね?
>794の例
$filename = "xxx.dat";
$mode = (file_exists($filename)) ? "r+" : "w";
$fp = @fopen($filename, $mode);
・
・
・
0798nobodyさん
05/02/02 18:49:54ID:???それだと、ファイルのパーミッションはあるけど、ディレクトリのパーミッションがないときに
>789と同じエラーがでる罠。
if(!!$fp=@fopen($filename, $mode))な。
というか、w+でファイルが作られないならおそらくそういうことナンジャマイカ。
0799nobodyさん
05/02/02 19:36:18ID:???ttp://www.pat.hi-ho.ne.jp/dimension/inst/inst_unix_dso_4_mbregex2.shtml
を参考にmbregexをphpizeでインストールしたいと思うんですが
ftp://night.fminn.nagano.nagano.jp/php4/
が接続できなくなっているようです。
どこか他にmbregexのソースをおいているサイトを知っている方
いらっしゃったら教えてもらえますか
0801nobodyさん
05/02/02 20:40:44ID:q6Il3s7ystrrpos("あ い、う") //あ と いの間は全角スペース
とすると6が返ってくるのですがどうしてでしょうか?
普通は2になりますよね??
0803801
05/02/02 20:50:23ID:q6Il3s7ystrrpos("あ い、う"," ")とやると6になるんです・・
0804nobodyさん
05/02/02 20:53:38ID:???0805801
05/02/02 21:41:19ID:q6Il3s7yありがとうございます。
しかしエラーらしきところは・・・strposはちゃんと動作するんだけどなー
0807nobodyさん
05/02/02 21:59:18ID:???全く予備知識なく、何某さんのネット連載記事とか本とかを読んでいると、
JavaサーブレットとかJSPというものがとてもすばらしいっぽく書いてありました。
なるほどそうなのかと思って、サーブレットJSP関連の本を買い、色々勉強しました。
さて、じゃあそろそろ適当にレンサバでも借りてみようかと思いました。
……全然対応してるところがありませんでした。
どうしたらいいですか。しかもその何某さんは、別の連載では
Linux+JSPサーブレットとWin鯖+ASPを比べて、ASPのすばらしさを語っていました。
もう何言語を覚えればいいのか分かりません。
0809nobodyさん
05/02/02 23:17:58ID:???適材適所で言語を選べって事だよ
ちなみにここはPHPスレ
0810nobodyさん
05/02/03 08:39:22ID:???Servlet/JSPをやるには、普通のレン鯖じゃダメだね。
使えるところも最近は増えてるけど、共有鯖のServletなんてつかえたものじゃない。
専用サーバ借りるか、自宅鯖にするしかないな。
ADSLで上り500Kbps程度あれば、普通の文字主体のサイトなら帯域に困ることも無い。
0811nobodyさん
05/02/03 08:43:18ID:???0812nobodyさん
05/02/03 08:48:10ID:???0814nobodyさん
05/02/03 10:32:11ID:???素人お手軽Webプログラミング入門
ASP全般
ある程度の能力者・経験者用。
全般的になんでもこなし、極めれば、Javaテクノロジと互角に渡り合えるが、
WindowsServer専用化ってのが痛いところ。monoに期待する。
JSP/Servlet/EJB/JSF
達人御用達。開発者の能力次第では、あらゆる面でWeb系最強なのは間違いなし。
でも個人でプログラミングしていると、ここまでヤル必要あるのか?という疑問が常にあり、開発の妨げとなる。
0816nobodyさん
05/02/03 10:54:48ID:???プッ
PHPしかできないド素人が業界人のフリしてこんな時間に書き込みですか??
実際の業界の現状というと、新規案件はJava系一色だよ。おれが業界にいた半年前まではね。
0818nobodyさん
05/02/03 11:56:45ID:???0819nobodyさん
05/02/03 12:10:20ID:???0822nobodyさん
05/02/03 13:06:15ID:???0823nobodyさん
05/02/03 13:47:37ID:???処理と表示とコントロールロジックが分離できないPerl/CGIやPHPでは話にならない
こればっかりは、開発者のスキルが云々の問題じゃない。
0825nobodyさん
05/02/03 14:02:27ID:???>PHP4ではあまりちゃんとしたカプセル化/隠蔽はできないので、ここでは変数名の重複が起こりにくくする程度の意味しかありません
0828nobodyさん
05/02/03 14:12:06ID:???PHPとASP、JAVAの違いより、おまえらスレ違いだ。
PHPがJSPより優れている点って何ですか。
http://pc5.2ch.net/test/read.cgi/php/1070466594/
CGI VS PHP VS JAVA
http://pc5.2ch.net/test/read.cgi/php/1006006800/
ASP VS PHP
http://pc5.2ch.net/test/read.cgi/php/1013945931/
0829nobodyさん
05/02/03 14:27:38ID:???0830nobodyさん
05/02/03 16:44:03ID:1pYIWrdlmb_http_output('SJIS');
と一行書けばスクリプト内の日本語部分もすべてSJISとなりも文字化けしないのですか?
サーバはLinux のredhatです
0831nobodyさん
05/02/03 16:58:23ID:???0832nobodyさん
05/02/03 17:08:59ID:1pYIWrdlはい出来ました。
ただこんなに簡単に変換できるものなのかなと思いまして。
sjisに変換する一般的なやり方などはあるのですか?
0833nobodyさん
05/02/03 17:40:49ID:iLTZWlLIfputs($fp,$str);
fclose($fp);
ってやると、許可されてない権限とかエラーでて吐き出しが出来ないのだけど
普通は、ディレクトリを777にしておけば書き込みは出来ると思うのですが。
所有者もユーザレベルにしているし…。
PHPかApacheの設定でそんなんあったっけ?
0836nobodyさん
05/02/03 18:40:57ID:???0838833
05/02/03 18:46:57ID:???test.htmlは存在していません。ない場合は、自動作成されるはずなので。
test.htmlをためしに作って、666にして試してみましたがダメでした。
>>835
セーフモードはoffになっていました。
サーバを新しくたてたら、未知の壁にぶつかっていまつ orz
Core3にするんじゃなかった…。
0840833
05/02/03 18:52:17ID:???777もダメでした。
/var/www/html/test.html
なんですが、 /varから777とかにしてみたがダメだった。
もうこんなんで職業プログラマなんて恥ずかしすぎる。
0841nobodyさん
05/02/03 18:55:50ID:???test.htmlとそのスクリプトのphpを同じディレクトリにおいて試すとか
0842nobodyさん
05/02/03 19:12:16ID:???0843nobodyさん
05/02/03 19:27:52ID:???0844833
05/02/03 19:46:13ID:???Warning: fopen(/var/www/html/test.html): failed to open stream: Permission denied in /var/www/html/test.php on line 5
がエラーです。
test.htmlとPHPファイルは同階層においてあります。
0845nobodyさん
05/02/03 20:08:05ID:???0846833
05/02/03 20:12:52ID:???もうこうなったら、ソースで入れ直してみます。せっかくパッケージ管理に移行しようと
したのに…orz
0847nobodyさん
05/02/03 20:14:17ID:???ttp://ns1.php.gr.jp/pipermail/php-users/2003-November/019486.html
環境Winでなkればスマソ
0848nobodyさん
05/02/03 20:21:38ID:1pYIWrdlこれはどういう意味なのでしょうか?
私は$_POST['sex']がmaleなら男、
違うなら女を$sexに返すと思っているのですが。
これは何かの省略した書き方なのですか?
0849nobodyさん
05/02/03 20:23:04ID:???php.iniのdoc_rootが正しく設定されているか確認。
で、system("whoami");とかやってみて、実行しているユーザーを正確に把握して、
きちんと整備し直してみる。
>>847
(Fedora)Core3だと言ってるが。
0851nobodyさん
05/02/03 20:25:38ID:???0854nobodyさん
05/02/03 20:41:19ID:???$result =
($fp = fopen('foo.txt', 'ab')) ?
flock($fp, LOCK_EX) ?
ftruncate($fp, 0) ?
stream_set_write_buffer($fp, 0) ?
fwrite($fp, $string, strlen($string)) ?
flock($fp, LOCK_UN) ?
fclose($fp) ?
true : false : false : false : false : false : false : false;
if (!$result) print '何かエラー';
0855nobodyさん
05/02/03 21:04:56ID:???0858nobodyさん
05/02/03 21:24:59ID:???and flock($fp, LOCK_EX)
and ftruncate($fp, 0)
and stream_set_write_buffer($fp, 0)
and fwrite($fp, $string, strlen($string))
and flock($fp, LOCK_UN)
and fclose($fp)
or print '何かエラー';
これでいいじゃん
0861nobodyさん
05/02/03 21:55:02ID:???なんかLinuxのパーミッションを理解していないとしか思えない
自分が何をやったかもわからずにディレクトリの権限とかも変更してそうだしね
うちもFC3を使ってるがphp.iniのdoc_rootの設定なし、セッションファイルを
tmpfsに置いている以外は弄ってないし、問題もない
0862nobodyさん
05/02/04 00:28:02ID:???一回もループしないで抜ければいいじゃんとか思うが。
ホント屑言語だな。
0863nobodyさん
05/02/04 00:33:10ID:???0865nobodyさん
05/02/04 10:12:03ID:???それは正常な動作でエラーが出なくては困ると想うけどね
配列かどうかわからないならis_array()で判断してから放り込む
なりするしかないね
そもそもセットしていない変数を利用しているとかそういう事
ではないの?
0866nobodyさん
05/02/04 10:40:07ID:???0868nobodyさん
05/02/04 12:26:22ID:???0869nobodyさん
05/02/04 12:29:17ID:???0870nobodyさん
05/02/04 12:44:44ID:???0871nobodyさん
05/02/04 12:51:17ID:???0872nobodyさん
05/02/04 16:43:09ID:RhhqzTFgrequireで呼び出して使いまわそうと思い、このような記述をし、
$footer = "http://".$_SERVER['HTTP_HOST']."/footer.php";
require $footer;
実機のWinにApacheをいれてテストすると以下のようなエラーがでました。
Fatal error: Failed opening required 'http://localhost/footer.php' (include_path='.;c:\php4\pear') in *****.php on line 88
同じものをウェブにアップしてそちらのサーバで確認したところ、きちんとフッタが表示されました。
なのでApacheかphpの設定ファイルかなにか実行ファイルが足りないとか、そういうことだとは思うのですが
ググってもなかなか解決方法が見つからなかったのでこちらで質問させていただきました。
どうすればバーチャルホストのほうでも正常に表示されるのでしょうか?
0873nobodyさん
05/02/04 16:49:55ID:???0874nobodyさん
05/02/04 16:56:50ID:???http://jp2.php.net/manual/ja/function.require.php
(↓実際はincludeの項に書かれている)
> "URL fopenラッパー"が 有効になっている場合
> (デフォルト設定では有効です)、ローカルなパス名 の代わりに
> URL(HTTP経由)を用いて読み込むファイルを指定することが可能です。
但し
> PHP 4.3.0より前のバージョンのWindows版PHPは、
> 現在この関数に関してリモートファイルアクセス機能をサポートしていません。
> これは、allow_url_fopenを有効にした場合でも同様です。
まず、ググる前にPHPリファレンスを見て、関数の使い方が正しいか、
どのようなオプションで関数の挙動が変わるのか調べてみるべし
http://jp2.php.net/manual/ja/index.php
それでも動かなかったらまたこのスレにおいで
まあ>>873のいうことが一番ごもっともな意見だ
0876nobodyさん
05/02/04 17:05:28ID:???テキストエディタの検索で使ってるので「URLの表し方」とかそういうのは分かるのですが
PHPで正規表現を使い文字列の一部を取り出すにはどうすればいいのでしょうか?
$all = "今日も天気が良いので眠いな";
というような変数から「今日も天気が[.*]な」を検索し、左記の「[.*]」部分を文字列strに入れるには
どう組めばよいのでしょうか・・・?(この場合なら$strに「良いので眠い」を代入させたい)
多分凄く初歩的なことだと思うのですが初歩的すぎて正規表現解説ページで該当する箇所を
見つけられません・・・。ご存じの方よろしくお願いいたします。
0877nobodyさん
05/02/04 17:13:51ID:Edgmb0VgPHPを最新のものにしたら正常に表示されました。どうもありがとうございます。
>>873
ローカルパスで指定しているとウェブにアップするときに書き換えるのがめんどくさかったので
HTTPで開いてたのですが、普通だと皆さんどのようにしてるのでしょうか?
どこかに各ファイルへのパスを指定してあるファイルを用意して
それを毎回読み込んでフッタを表示させるようにし、
ウェブにアップする際にはそのパスを指定してあるファイルだけを
書き換える、という方法なんですかね?
0878nobodyさん
05/02/04 17:19:17ID:???まずはココ
http://jp2.php.net/manual/ja/pcre.pattern.syntax.php
0879nobodyさん
05/02/04 17:59:11ID:???ディレクトリ構造(DOCUMENT_ROOT以下、includeディレクトリなど)を本番と同じにしたテスト環境を用意する。
0880軟式PHP
05/02/04 18:00:02ID:???$strValue = "今日も天気が良いので眠いな天気がなんとな";
preg_match( "/今日も天気が(.*)な/", $strValue, $match1 );
print $match1[1] . '<br>';
preg_match( "/今日も天気が(.*?)な/", $strValue, $match2 );
print $match2[1] . '<br>';
正規表現はマニュアルからだと難しいかもしれんから
http://www5a.biglobe.ne.jp/~n_rieko/perl/8.htm
とか簡単そうなところから勉強してみては?
0881nobodyさん
05/02/04 18:15:19ID:???0882nobodyさん
05/02/04 19:16:34ID:u3cic1J6それぞれの配列を作った場合、対応関係は保持されることが保障されているのでしょうか?
例えばこのような例を考えた時に
$a = array('a' => 'apple', 'i' => 'iron', 'u' => 'ugly', 'e' => 'english', 'o' => 'only');
print_r(array_keys($a)); print_r(array_values($a));
として自分で実験してみたら、結果が思い通りとなり順番どおりに並んでくれました。
Array( [0] => a [1] => i [2] => u [3] => e [4] => o )
Array( [0] => apple [1] => iron [2] => uly [3] => english [4] => only )
このように常に対応関係が保持されるのかされないのかご存知の方が
いらっしゃいましたらどうかよろしくお願い致します。
もし対応関係が保持されない場合は
foreach ( $a as $key => $val )
{
$keys[] = $key;
$vals[] $val;
}
のようにすればできると思いついたのですが、もっと良い方法をご存知の方が
いらっしゃいましたらどうかよろしくお願い致します。
0883nobodyさん
05/02/04 20:30:00ID:E7qef8MCStrictなHTMLを吐き出すPHPスクリプトを作ろうと思い
<?xml〜を直に記入したらエラーになったため
<?php
print "<?xml〜";
?>
<!DOCTYPE〜>
<?php
本体
?>
と記述して事なきをえたんですが
設置後に見ると何故かHTMLソースの上に一行空白がありました。
これはどう対処すればよいでしょうか?教えて下さい
0885nobodyさん
05/02/04 20:37:54ID:???0887nobodyさん
05/02/04 20:46:57ID:???共有なんだからデフォルトOffで好きなやつだけHtaccess弄ればいいのに
0888nobodyさん
05/02/04 20:49:18ID:???0889nobodyさん
05/02/04 20:49:49ID:???こう書いてみたが別に隙間なんか出てこないよ
PHP4.3.10ね
------------
<?php
print "<?xml
aiueo
?>";
?>
------------
隙間が出来るのはホントに上が1行空いてるからだと思うよ
0890nobodyさん
05/02/04 20:56:24ID:???0891nobodyさん
05/02/04 21:28:39ID:???<?php
?>
とか
0892nobodyさん
05/02/04 22:04:54ID:HCHebah7と同じ内容をwhileで書こうとおもい
下のように記述したのですが上手く動きません。
どこがおかしいのでしょうか??
$fp = fopen("xxx.txt","r");
while (!feof($fp)) {
$dat = "";
while (substr($dat, -1) != "\n"){
$dat .= fgets($fp,256);
}
$file[] = $dat;
}
0893nobodyさん
05/02/04 22:06:35ID:???0894892
05/02/04 22:11:15ID:???0895nobodyさん
05/02/04 22:14:38ID:???0896nobodyさん
05/02/04 22:39:24ID:???そしてPHPの<? ?>こういうのを埋め込んだら拡張子は.phpにしなければいけないのでしょうか?
どこを見てもそんな事が書いてなかったので質問させていただきました。
0897nobodyさん
05/02/04 23:56:04ID:???何を言っているのかわからない。
PHPとXMLは直接関係無いぞ。
〜拡張子は.php〜別にどうでもいい・・・
Web鯖の設定さえできてれば、.htmlでもなんでも処理できる。Web鯖の設定ができていればね。
0898nobodyさん
05/02/04 23:57:01ID:JB/Xwm8rバージョン5.0.3を日本語対応させようとしたんですけど、
文字化けしてしまいます。
php.iniでは、
default_charset Shift_JIS
mbstring.language Japanese
mbstring.internal_encoding EUC-JP
mbstring.http_input auto
mbstring.http_output SJIS
mbstring.encoding_translation On
mbstring.detect_order auto
mbstring.substitute_character auto
mbstring.script_encoding EUC-JP
日経ソフトウェア1月号に載っていた設定そのまんまです。
SJISやSift_JISなんて表記が混在していても大丈夫なんでしょうか。
バージョン4なら日本語化されているので、最悪そちらを使う、
という手もあるのですが、それでは敗北なので。(笑
どなたか教えてください。
0899nobodyさん
05/02/05 00:06:11ID:???outputがSJISになってるが、ほんとにSJISでHTMLが出力されてるかソース表示して確かめよ。
SJISだったならばmetaタグにsjis指定を記述してブラウザに解釈させよ
>バージョン4なら日本語化されているので
初めて触ったのにこんな情報どっから仕入れてきたんだ?
0901898
05/02/05 00:18:59ID:???バージョン4については、日経ソフトウェアに書いてあったのですよ。
1月号だから、今からは買えないけど、何ページにもわたって
書いてあったので、助かりました。
これから試してみます。
0902nobodyさん
05/02/05 01:14:38ID:H2lo0MBghttp://www.stackasterisk.jp/tech/php/php03_05.jsp
を参考に組んだのですが、OutlookExpressではちゃんと添付されていて
OperaのメーラーM2では、エンコードされずにバイナリ文字列がだーっと出てきます。
どうすればいいのでしょうか?
0905898
05/02/05 05:40:44ID:???出力はEUCになっているみたいです。
ブラウザでエンコードをEUCに変更したらうまく表示できました。
以下、ソースを載せておきます。
<html>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />
<title>php基本のキ</title>
</head>
<body>
<?php print("Hello,World! 今日は天気だ"); ?>
</body>
</html>
メタタグを入れてみたんですけど、うまく行きません。
何がいけないのでしょうか。
0906898
05/02/05 06:22:05ID:???本には、.phpはEUCでセーブするように、と書いてあったのですが、
試しにSiftJISでセーブしたら、うまく行きました。
もう、何がなんだか・・・(汗
0907898
05/02/05 06:38:30ID:???0908nobodyさん
05/02/05 15:35:45ID:HfaJ2irn/
を使い、
/css/〜〜.css
という指定の仕方をしているサイトがあります。
同じようなことをPHPでもやろうとしたのですが、
require("/file/hogehoge.dat");
このようにすると、かなり上の階層(/usr/home/****/ここが本来の場所/)の
指定になっているようでHTMLでの / と異なる挙動をしています。
この場合、どのように書き換えれば同じような動作(ルートディレクトリからの指定)を
させることができるのでしょうか?
0909nobodyさん
05/02/05 15:41:02ID:???PukiWikiを使ってるとイライラするのですが、これはサーバのせいですか?
0910nobodyさん
05/02/05 15:46:57ID:???require(ROOT_PATH."/file/hogehoge.dat");
とかしとけば今後環境変わっても便利
0912nobodyさん
05/02/05 16:02:16ID:HfaJ2irnありがとうございます。defineを使うのですね。
でもまだ少し疑問点があります。
hogehoge.datをいくつものファイルで読み込む必要がある場合、
define("ROOT_PATH","/usr/home/****");
もそれぞれのファイルに書く必要があるんでしょうか?
1回記述するだけですむ方法が思いつきません・・
0914nobodyさん
05/02/05 16:11:30ID:???定義したファイルをひとつ作っておき、それは相対パスで読み込み、
それ以外はその定義ファイルから読み込んで対応することにしました。
私の疑問はその定義ファイルの位置を変更した場合にも対応できるように
ルートディレクトリから指定できないかなあと思っていました。
どうもありがとうございました。
0916910
05/02/05 16:27:40ID:???んじゃ、
require($_SERVER["DOCUMENT_ROOT"]."/file/hogehoge.dat");
ってのはどうよ?
0918nobodyさん
05/02/05 17:35:11ID:???ってか、決まりなんてあるのか?
マジくだらねぇスマソ
0921nobodyさん
05/02/05 18:14:41ID:???それ以前に「Ver. 1.00」にするか、「Ver. 1.0.0」にするか悩まなかったか?
あるいは最初は「Ver. 0.1」から始めるべきかな?とか
0922nobodyさん
05/02/05 18:23:55ID:???というか、バグ取りして一応のレベルに達して1.0を名乗れるようになってから
公開するのが当然。
0.1とかじゃロクに出来上がってないものを利用者にテストさせる印象しかない。
0923nobodyさん
05/02/05 19:12:29ID:???・ソースコード公開以前→0.x.x
・ソースコード公開した→1.x.x
て感じかなぁ。
公開する気が全くなくても、「これならソース公開してもいけるかも」てなったら
1.0にする。
0924nobodyさん
05/02/05 19:20:42ID:???本来、メジャーバージョン1未満は公開すべきではないし、
評価など目的があって公開するならバージョンをつけずに
PRとして出すべきだから。
0926nobodyさん
05/02/05 19:57:19ID:???あんな重い思いしてまでウィッキーさんは使いたくはないな。
0927nobodyさん
05/02/05 21:46:21ID:H7vZqk2Fsignal Bus error を起こしてしまいます。
対処法としては2次元配列の代入元の値を変数ではなくて数値にすると
OKになります。
なにが問題なのでしょうか?
WindowsのPHP5では異常がありません。
//だめ
<?php
$n = 500;
$in = 999999;
for ($i = 0; $i < $n; $i++)
for ($j = 0; $j < $n; $j++)
$keys[$i][$j] = $in;
?>
//OK
<?php
$n = 500;
for ($i = 0; $i < $n; $i++)
for ($j = 0; $j < $n; $j++)
$adj[$i][$j] = 999999;
?>
0928nobodyさん
05/02/05 21:55:43ID:???ゾヌとか永遠にβ版だけどね。
0929nobodyさん
05/02/06 00:19:19ID:2wEgbafXここにあるようなPHPとmysqlを使った検索を作ってみたいのですが、
PHPをどう組み立てたらいいか全くわかりません・・・。
色々なサイトなどを見て、参考にしようと思ってもいいところが見つからなかったのでここに来ました。
0931nobodyさん
05/02/06 00:38:05ID:???全く分からんようだと参考サイトを見ても分からん気がするが。
どういう処理をすればいいのか問題を分割していってごらん。
1. フォームを表示
2. フォーム送信内容から検索結果を表示
2-1. フォーム内容からmysql用のSQL文を作成
2-2. mysqlへSQL文を送信
2-3. SQL実行結果を取得
2-4. 実行結果を画面表示
こういう風な分割を繰り返していくと、PHPで用意されている関数にまで分割することができる。
それを繋ぎ合わせたものが1つのスクリプトになるわけだ。
0934nobodyさん
05/02/06 10:34:14ID:???0935nobodyさん
05/02/06 10:53:28ID:???0936nobodyさん
05/02/06 11:25:52ID:???ありがとうございました!
0937nobodyさん
05/02/06 16:34:11ID:???aからzまでを配列にぶち込んで、ランダムな文字列を作りたいのですが。
$str2 = "";
for($i = 0;$i < 10;$i++){$str2 .= $str[rand(0,25)];}
↑が実際動くかどうか分からんけど、
Perl範囲演算子みたいなのはrange()使えば実現できる
0941nobodyさん
05/02/06 18:18:38ID:5y+gVtnDサイトを訪問した人のIPアドレスはこれで検出できたんですが、
ホスト名までは検出できないんでしょうかね?
$host_name = getenv('REMOTE_HOST');
こう書いてみたんですがうまく検出できません。
0942nobodyさん
05/02/06 18:34:27ID:???0944nobodyさん
05/02/06 20:25:02ID:???いや、鯖が必ずREMOTE_HOSTを引いて値を設定するようになっていれば
PHPで"REMOTE_HOST"で取得できるよ。普通そんな設定に鯖をしとかないけど。
0946nobodyさん
05/02/06 20:38:03ID:GClGxaTK$data[1] = array(size=>10,hoge=>1);
$data[2] = array(size=>30,hoge=>3);
この場合、$data[num][size]を大きい順にソートし
2次元配列に、つまり最終的に、
$data[0] = $data[2] ←[size]=30
$data[1] = $data[0] ←[size]=20
$data[2] = $data[1] ←[size]=10
このようにソートさせたいのです。
なにか方法はありませんでしょうか。
0948nobodyさん
05/02/06 20:57:31ID:GLYJwer2データベースに書き込めるときと書き込めないときが出るようになってしまいました。
なんでですかね?
0949nobodyさん
05/02/06 21:04:00ID:???マルチ氏ね
http://pc5.2ch.net/test/read.cgi/php/1064937268/614
0950nobodyさん
05/02/06 21:04:50ID:???・書き込み内容によって不適正なクエリが発行。
・500人ぐらいで共有してる安鯖を使用しているため処理能力がアップアップ。
0953948
05/02/06 21:55:09ID:GLYJwer21つ目はいつも上手くいくのよ、で2つめの書き込みがたまに失敗する。
やっぱ月かな。
0954nobodyさん
05/02/06 21:57:14ID:???リファラを記録する際に、「リファラが自分のサイトのコンテンツであれば記録しない」ということはできないでしょうか?
0960nobodyさん
05/02/06 23:10:36ID:???0961nobodyさん
05/02/06 23:21:21ID:???「記録する際に、リファラが自分のサイトのコンテンツであれば記録しなければいい」
で、終わっちゃうんだよなぁ。。。
>>954が何に困ってるのか分からん。
0962954
05/02/06 23:26:52ID:???言葉足らずですみません。
「記録する際に、リファラが自分のサイトのコンテンツであれば記録しなければいい」
というのはわかっているのですが、それをプログラムにすることが出来ないのです。
0964954
05/02/06 23:43:56ID:???"URL"という言葉が抜けていましたorz
なので、もっと厳密に言えば「記録する際に、リファラが自分のサイトのコンテンツのURLであれば記録しなければいい」です。
>>959氏のご助言を参考に、下のような方法を考案したのですが、どこか違和感があります…。
$referer = $_SERVER['HTTP_REFERER'];
$my_site = array(サイトの全てのページのURLをつらつら);
for($i = 0;$i < count($my_site);$i++){
if($referer == $my_site[$i]){
exit;
}
}
0965nobodyさん
05/02/06 23:55:04ID:???まずforループなんか使わずin_arrayを使えと
で、その方法だとわざわざ自分のサイトのページ全部登録しないとダメだろ
一番単純な方法として自分のサイトのルートアドレス(ex.http://www.example.com/~954/)
から始まるURL蹴るとかではあかんのかと
0966nobodyさん
05/02/07 00:15:47ID:???exit;
}
0967954
05/02/07 00:19:41ID:???…なるほど。
しかし、どのようにすれば実現できるのでしょう?
リファラをexplode()で分割したりするのでしょうか…。
方法がいまいちつかめません。(^_^;
0968nobodyさん
05/02/07 00:23:36ID:???966さんのレスを読む前に書いてしまいました。(^_^;
書き込もうとしていた時にはまだレスがついてなかったので。。。
>>966
stripos()という関数を使えば実現できるのですか。。。
ありがとうございました。
0969nobodyさん
05/02/07 00:26:59ID:???最近、REFERER吐かない接続者が多いんで、そこんとこヨロシク!
って感じですかね。
0970nobodyさん
05/02/07 00:29:35ID:???0972nobodyさん
05/02/07 10:58:43ID:???最初に現れる位置だから用途が違うでしょうけど
preg_matchよりstriposの方が高速でしょうか?
0973nobodyさん
05/02/07 11:48:18ID:???単純な比較と正規表現処理とだから、当然striposの方が速いんでないの?
数値で比較して安心したいなら、
print microtime();
for(〜){ 処理内容; } // 適当な回数
print microtime();
みたいな感じで実際試してみればいい。
0974nobodyさん
05/02/07 12:30:23ID:???strpos
0.61152000 1107746919
0.61356200 1107746919
preg_match
0.61358800 1107746919
0.62025600 1107746919
0975nobodyさん
05/02/07 15:06:02ID:6YQico4I変えたいんですがどうすれいいでしょうか?
0976nobodyさん
05/02/07 15:09:01ID:???インストールしてみたのですがPHPで認識してくれません。
MySQLインストール後にPHPに認識させるためになにか設定等は
必要なのでしょうか?
0978nobodyさん
05/02/07 15:34:30ID:???RPMで入れたのならphp-mysqlてな感じのrpmも転がってると思うのでそれを入れる。
見つけられなかったら諦めれ。ソースから入れる手もあるが君にはまだ早い。
0979nobodyさん
05/02/07 16:53:29ID:???はどういう意味ですか?でどうしろ言われてるの?
0980nobodyさん
05/02/07 17:15:03ID:???PHPの中の人がスクリプトを読んでいった時に、
〜行目で \ というここにあってはおかしい文字を発見した。
その行以前にコーディングミスがある筈なので、それを修正する。
0982nobodyさん
05/02/07 18:15:57ID:???あのですね・・
->
上の記号の意味を教えて欲しいんです・・
map {$_->[0]}
こういう風に使われているのですが
検索したのですが、やり方が悪いせいか全然出てこなくて
<=>これとか&&とかはいっぱい載ってたのですが・・
0983nobodyさん
05/02/07 18:17:38ID:???引数を渡すことは可能ですか?
可能であれば教えてください。
0984nobodyさん
05/02/07 18:29:57ID:???オブジェクトのメソッドやプロパティにアクセスする演算子
ex) $obj->method();
>>983
やってみたら答えはおのずと出ると思う
やってみてムリだったらまた書き込んで
0985nobodyさん
05/02/07 18:31:25ID:???にっこり君
0986nobodyさん
05/02/07 18:31:59ID:???それはPerlなのでPerlスレの方が良いかと。
>>983
includeの利用云々に関係無く、普通に関数を使う時のように引数を渡してあげてください。
includeでこだわる理由があるとすれば可変長引数を使ってたりするのかな?
その場合は、func_get_arg()等を使います。
0987nobodyさん
05/02/07 18:52:15ID:???レスどもです。引数は普通に渡せるのですね。
include("hoge.php('hoge')")
こんな感じでやってみたのですがエラーがでてしまいました。
>includeでこだわる理由
それはrequireの方がいいという意味ですか?
特にこだわりなどはないのですが。
0988nobodyさん
05/02/07 19:08:28ID:???■func.php
function f($arg) { ...... }
■main.php
include('func.php');
f('arg');
0989983
05/02/07 19:19:43ID:???何か勘違いしていたようです。
どうもありがとうございました。!
0990nobodyさん
05/02/07 20:05:29ID:???0991nobodyさん
05/02/07 20:09:16ID:???0992nobodyさん
05/02/07 20:20:56ID:ugDz3ClPそこで誰もが思う質問
●IEから、ユーザーの選択したデータのPHPロジック中への受け渡しはどうするのか?
●フェッチアレイした結果をIEに表示する際に、色つきかつ、罫線をつけるには?
このあたりいいサンプルがあるサイト、または、方法教えてであります
0993983
05/02/07 20:22:14ID:???自分も後から「勘違い」は使い方が違ったなと思いました。
そして突っ込みが必ず来るだろうなと。
インクルードしたら、インクルード元にインクルード先のスプリクトが
書かれているような振る舞いになるのをすっかり忘れていました。
>>990さんの言うとおり、これも勉強不足の内ですので、
どうか目を瞑っておいてください。
0994nobodyさん
05/02/07 20:28:41ID:???今から開いてる本屋行ってPHPの入門書とHTMLの入門書買って来い
ここがくだらねぇ質問スレといえどもあんまりだぞ・・・_| ̄|○
0996nobodyさん
05/02/07 20:31:35ID:???●$_REQUEST
●echo '<font color=#FF0000>'.フェッチアレイした結果.'</font><hr>';
0999nobodyさん
05/02/07 20:41:28ID:???■■■■■■■■■■
■ ■
■ 画像のりんく ■
■ ■
■ ■
■■■■■■■■■■
httm:文字ののりんく
という風にしたいのですが
どのようにすればいいですか?
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。