【PHP】質問スレッド Part4
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/06/02 15:32ID:f3afNVBG<<参考>>
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレは>>2を見よう。
0133nobodyさん
02/06/14 01:27ID:???0135128
02/06/14 10:17ID:HA6GEGFhsessionが使えない場合のことを考えて作ってます。
実際にsession使ったバージョンのはできてるんですけどね。
素直にtmpファイルとか使った方が楽なのかな?
0136名無しさん
02/06/14 11:43ID:???php.iniの設定で、自動でPHPSESSIDを付加してくれる設定があったはず。
クッキーが使えない携帯でもセッションは利用できるはず。
0137nobodyさん
02/06/14 17:09ID:???WindowsXPでPHPを勉強し始めようと思っています。
PHPDeviceをダウンロードして自分のPC内で動かそうとしたんですが
PHPを経由してファイルへの書き込みが出来ないのです。
(PHPファイルを読むことは出来ます。)
これについて、書き込みについての権限がないからというヘルプを貰ったのですが
解決方法がわかりません。
XPでインストールしたディレクトリを動かさずに権限を操作することが出来るのでしょうか。
または、この理由ではないのでしょうか。
(他板で誤って質問してしまったのでコピペ流用)
PHPDeviceってなんだろう?
Apacheとか一緒に入れてくれるやつの一種かな?
と思いつつ。
該当部分のソース出さないと答えようがないと思うよ。
0139nobodyさん
02/06/14 19:49ID:???そうです。PHPとApache、PerlにMySQLがセットになってます。
> 出てきたメッセージが以下。
Warning: Unable to open '' for reading: Permission denied in c:\phpdev\www\fileedit.php on line 6
ERROR: backup failed.
> 書き換え部分のソースを以下に。
<?
$filename = "todo01.txt";
if($submit){
$backupfile = $filename.".bak";
if ( copy($writefile, $backupfile)){
$fp = fopen($filename, "w");
if(flock($fp, 2)){
fputs($fp, $contents);
flock($fp,3);
} else {
echo "ERROR: file lock is failed.<BR>\n";
exit;
}
fclose($fp);
} else {
echo "ERROR: backup failed.<BR>";
exit;
}
}
?>
0140nobodyさん
02/06/14 23:20ID:HA6GEGFhありがとうございます。
今マニュアルみたら書いてありますね(^^;
0141親切な人
02/06/14 23:45ID:???ヤフーオークションで、凄い人気商品、発見!!!
「 RX-2001 」がパワーアップした、
「 RX-2000�V 」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA#.2ch.net/
ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
ヤフー ID の無い方は、下記のホームページから、
購入出来る様です↓
http://www.h4.dion.ne.jp/~gekiyasu/#.2ch.net/
0143nobodyさん
02/06/16 00:45ID:i4sSElYHレス無いので...
PHPにはtrないですからねぇ(なぜなれpcreにtrがないから)。
<?php
$subject = "stringzZ";
<?php
$subject = "string";
print preg_replace('/([a-zA-Z])/e', 'caesar($1)', $subject);
function caesar($c)
{
if ($c == 'z')
return 'A';
if ($c == 'Z')
return 'a';
return chr(ord($c)+1);
}
?>
こんなかんじで、普通にやるしかないのでは?ってか、普通に
php-usersで聞いたほうが良いと思いますが。
0144nobodyさん
02/06/16 01:20ID:8EBDLVWp全てのページの最上部にincludeしたいのですが、
こういう場合どうするのが定石なんでしょうか?
//php.ini にはすでにデフォルトで、auto_prepend_file =prepend.phpとあり、
//prepend.php にはcvsのバージョン番号があるので、
//やはり、これを書き換えるのはさけるべき・・・ですよね?
0145nobodyさん
02/06/16 02:19ID:0KeGGR15if (!function_exists('str_caesar')) {
function str_caesar($str) {
$from = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$to = 'bcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZa';
return strtr($str, $from, $to);
}
}
if (`which tr` && !function_exists('str_caesar2')) {
function str_caesar2($str) {
return `echo $str | tr a-zA-Z b-zA-Za`;
}
}
/* See
* str_rot13
* mcrypt
* ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/
*/
0146nobodyさん
02/06/16 09:40ID:rHOpgHxS0777で作成できません。
0777で作成するにはどうしたらいいですか?
0147nobodyさん
02/06/16 10:12ID:7Bh3fOrxhttp://www.php.net/manual/ja/function.chmod.php
0148nobodyさん
02/06/17 02:52ID:sgUmh/XP0149nobodyさん
02/06/17 03:18ID:???SMTPのvrfyは禁止されてたりするしね。
特定のドメインが対象なら、やりようはあるかも。
相手の振る舞いに依存するのはよくないけど。
0151nobodyさん
02/06/17 14:09ID:aQhyjpePjavascriptでformのタイプを変更できるんでしょうか?
<input type="text" ←の部分。
0152new...
02/06/17 16:03ID:/PRHCvovPHPとMysqlで掲示板をつくりましたが、
書き込んだメッセージの中で、
特定の漢字だけが、文字化けのように表示されてしまいます。
どこに原因があるとおもいますか?
0154new...
02/06/17 16:58ID:MBYnZ3N+0155nobodyさん
02/06/18 07:18ID:???改行コードは \r, \n, \r\n の内
どれに統一するのがベストなのでしょうか?
0157nobodyさん
02/06/18 12:23ID:2kc8v8+BPEARのDBクラスを使ってUNIXソケット経由で接続したいんですけど
DSNをpgsql://user:pass@unix+localhost:7432/dbname
などと書いても接続できません。
標準のポート番号でPostgreSQLを起動した場合はUNIXソケット経由
で接続できるんですけど、どなたか接続させる方法をご存じないですか?
0158new..
02/06/18 12:28ID:wwQMWvxUTEXTAREAのフォームデータを受信したときに、改行コードに
差が少しでるよ。
win は\r\n
mac は\r
メル鯖はまちまち
0159nobodyさん
02/06/18 12:41ID:???例えば $content という内容をDBに書き込むとすると
$content = addslashes($content);
とやってからDBに放り込んでみれ。
0160nobodyさん
02/06/18 14:12ID:0criPbYzこちらのgifcat.plをPHPで書き換えてみました。
print(gifcat());
としたところ、失敗してしまいました。
Windowsを使用しているので、バイナリモードで書き出すように
したいのですが、Perlでいう
binmode(STDOUT);
のような処理はどのようになるのでしょうか?
0161nobodyさん
02/06/18 14:31ID:JmpSL9X1passthru()じゃなかったかな
0162160
02/06/18 14:45ID:0criPbYz御返信どうもありがとうございます。
がんばって文字列関数のところばかり見ていました。
実行してみたところエラーが出てしまいました。
passthruの説明を読んでみたところ、あるコマンドを実行して
結果の最後の行を文字列として返すとあったのですが、これでよろしいのでしょうか?
> <br>
> <b>Warning</b>: Unable to fork [GIF89a] in <b>c:\phpdev\www\image.php</b> on line <b>100</b><br>
imagephpはこの様になっています。
line 99 : $GifCat = new CGifCat();
line 100 :passthru($GifCat->gifcat($files));
関数gifcatは連結したい画像名配列を入れると連結された画像が帰ってくるという
仕組みなのですが、これはPHPにする時になにかミスをしていると考えた方が良いのでしょうか?
0164162
02/06/18 21:26ID:0criPbYzありがとうございます。そちらのスクリプトと見比べて修正したところ
うまく画像が連結して表示されました。
ファイルをオープンする際の
$fp = fopen($file, 'rb') or return("ERROR");
のor return("ERROR")がまずかったようです。
バイナリ表示とか全然違う方向に目が行っていました。
本当にありがとうございました。
0165ちえ
02/06/18 21:31ID:zOwUJg6s教えてほしいんですけど・・・
インターねとでいろいろみてたら
ヤフーの画面に「NetZany]というのがかってにくみ
込まれてこまってます
どうすれば消せるの?
これってやばいの?
0166nobodyさん
02/06/18 21:49ID:???完全に板違いなので誘導
くだらねぇ質問はここに書き込め Ver2.16
http://pc.2ch.net/test/read.cgi/sec/1021270127/
0167nobodyさん
02/06/18 22:21ID:???こちらでsymlink関数を調べていたのですが、この第一引数の
targetというのはどのように設定すればよろしいのでしょうか?
カレントディレクトリにしようと思い、symlink('.', $filename);
としたのですが、以下のようにエラーが出てしまいました。
Warning: SymLink failed (No such file or directory)
0170167
02/06/19 10:43ID:???ありがとうございます。
そちらの方も試してみたのですが、同じエラーがでてしまいました。
カレントティレクトリがないということはありえないので、何かおかしな
ところがあると思うのですが、コードは下のようになっています。
$retry = 5;
while (!symlink("./", "lock.lock")) {
if (--$retry <= 0) { error(); }
sleep(1);
}
0171nobodyさん
02/06/19 11:56ID:wvwPfn4bPHP4徹底攻略PDF版で勉強中なのですが、
p143からのex4.phpが、うまく動いてくれず困っております。
症状は、次の画面に移ったときに、
$this->offset の値が0に戻ってしまうというものです。
また $this->usersql も空になってしまい、
SQLが実行できず、58行目のifが評価されてしまうので、
このソース(pgselect.ini)の44-45行目、46-47行目に、
$this->usersql = $sql; とだけ追加してみました。
(↑まったく根本的な解決になっていないと思いますが…)
他、記述ミス等は無いと思います。
環境は次の通りです。Apache1.3.24 + PHP4.2.1 + PostgreSQL7.2.1
ご教授よろしくお願いします。
0172nobodyさん
02/06/19 12:08ID:???そのコード斜読みしただけだけど、
セッションからの値がきてないんじゃ無い?
ここの>>4とマニュアルのセッション関数のところみてみてみて。
0173171
02/06/19 12:37ID:wvwPfn4bご返答感謝します!
register_globalsはonにしています(php.iniで唯一変えた箇所)
やはりセッションがうまく働いていないんでしょうか…。
帰ってきたらマニュアルなどを利用して、
もう一度セッションについて勉強してみます。
では昼休みも終わりそうなんでまたです。
0174nobodyさん
02/06/19 18:18ID:???皆様から返答が得られないのは
尋ね方が悪いんでしょうか。
情報が足りないんでしょか。
よろしくお願いします。
0175nobodyさん
02/06/19 18:46ID:???0177nobodyさん
02/06/19 19:32ID:???0178nobodyさん
02/06/20 06:25ID:3HmCYevVIFのなかのcopyが失敗しているようですが・・・
$writefileには何が入っていますか?
0179139
02/06/20 11:14ID:???$writefileの中にはテキスト、ものが入ってると思います。
>>その後は以下のように。これでファイル全部です。
<HTML>
<HEAD>
<TITLE>
<?
echo $filename
?>
</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=euc-jp">
</HEAD>
<BODY>
<FORM ACTION="<? echo $PHP_SELF; ?>" METHOD="POST">
<TEXTAREA NAME="contents" ROWS="10" COLS="50">
<?
require ($filename);
?>
</TEXTAREA>
<INPUT TYPE="submit" NAME="submit" VALUE="更新">
</FORM>
</BODY>
</HTML>
ファイルのパーミッション確認すれ
0181171
02/06/20 19:45ID:???原因はex3.phpの設定を引きずってしまった為の記述ミスでした…。
(ex3.phpの34行目 $sel = new myPgSelect 消し忘れ)
ソースを見直してこれが不要なのではと気づいた点は、
救いようがあると思いますが、やはりまだまだ理解不足ですね。
お騒がせしました。
0182139
02/06/20 19:51ID:???重ね重ね、申し訳ないですけどご教授いただけませんか。
PHPはヴァージョン4でした。
0184139
02/06/21 00:11ID:???フォルダに対してプロパティ→共有セキュリティタグは出てきます。つまりフォルダに対して行うのですよね。
共有ドキュメントフォルダに移動させるとディレクトリ自体が変更してしまいアパッチが起動できなくなりできません。
てことでネットワーク上でこのフォルダを共有するというチェックボックスをオンにしました。
そして、どのフォルダを共有させるのでしょうか。
ローカルホストを有効にさせているアパッチ、PHP本体、
あとローカルホストのルートディレクトリ。これらのフォルダをすべて
プロパティ→共有タブ→ネットワーク上で共有のチェックボックスをオンにしました。
しかし実行したときの反応、出てくるメッセージ文に変わりはありませんでした。
すみません…よろしくお願いします。どうすればいいのでしょうか…
0186139
02/06/21 00:42ID:???137かつ139かつ179かつ182かつ184です。
パーミッションの確認方法がわかりません。
全ユーザには権限がないんだと思いパーミッションの変更方法をお聞きしてたのですが。
0188nobodyさん
02/06/21 01:00ID:???画像表示のカウンターって、どうやってカウントしてるんすか?
リモートホストはどうやって取得してるんすか?
0192nobodyさん
02/06/21 06:41ID:???ちゃんと$writefileに希望の内容が入っているか確認してみました?
echo $writefile;で一度チェックしてみては?
パーミッションの方は
$fp = fopen("test.txt", "w");
fputs($fp, "test");
fclose($fp);
とでもしてファイルを作成できるかチェックしてみてはいかがでしょうか?
0193nobodyさん
02/06/22 09:55ID:oMvchyAUで、mbereg_replace()を使うと
Warning: mbregex compile err: premature end of regular expression
と、エラーが出てしまいます。
コンパイルエラーとありますが、何度インストールし直してもこのエラーです。
$ phpize
$ ./configure --enable-mbregex
$ su
# make install
でインストールしました。
なにがいけないんでしょうか?
0194nobodyさん
02/06/22 18:00ID:???正規表現が間違ってるんだYO!
0195193
02/06/22 23:54ID:???phpinfo();で、
mbregex
Directive Local Value Master Value
mbregex.encoding EUC-JP EUC-JP
となっているのに、S-JISで書いてたのが原因でした…
0196nobodyさん
02/06/23 00:18ID:???どうしたらよろしいでしょうか。
チェックボックスとかセレクトとか使ってテキスト作り上げて、
そいで貼り付けとかしたいので。
0197somebodyさん
02/06/23 00:29ID:???WindowsXP,IE系に逝ってください
0198nobodyさん
02/06/23 00:47ID:???mb_ereg_* を使うと Fatal error: Call to undefined function: mb_ereg_*()
と言われます。
phpinfo()だと
Configure Command :
'./configure' '--with-pgsql' '--without-mysql' '--with-namazu' '--with-kakasi' '--with-apxs=/usr/local/apache/bin/apxs' '--with-openssl' '--with-iconv' '--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-trans-sid' '--with-mbregex'
となってるんですが…(ていうか実際そうした)
php.iniはデフォルトのままで、
[mbstring]
mbstring.internal_encoding = iso-2022-jp
mbstring.http_input = auto
mbstring.http_output = iso-2022-jp
;mbstring.detect_order = auto
;mbstring.substitute_character = none;
となっています。
日本語使えなくて鬱です…どうしたらよいでしょうか。
0200nobodyさん
02/06/23 09:28ID:???いや、--enable--mbregexだと無視されます。
マニュアル見ると、いつのまにか--with-mbregexオプションは無くなってたみたいなので
(後方互換のためいちおう有効にされてはいた?)
つけずにやってみてもやはり Undefined functionと言われます。
0201nobodyさん
02/06/23 09:35ID:???どうもmb無しのereg_*で日本語もあつかえるらしい…
別に
mbstring.func_overload=1
とかしてないんですがね…
#デフォでonになってる??
ともかくなんとかなりそうです。THX>>199
・・・ほんとに?
configure見ると思いっきり
--enable-mbregex
Enable multibyte regex support
って書いてあるんだけど・・・>PHP4.2.0/PHP4.2.1
0204nobodyさん
02/06/23 18:38ID:kqip7CeK$fp = @fopen("/tmp/counter", "r+");
// ファイルがなかった場合、ファイルを作る。
if( !$fp ) {
$fp = fopen("/tmp/counter", "w");
}
// 重要。説明は下で。
set_file_buffer($fp, 0);
flock($fp, LOCK_EX);
rewind($fp);
$buf = fgets($fp, 1000000);
if( !$buf ) {
$buf = 1;
} else {
$buf++;
}
rewind($fp);
fputs($fp, $buf);
flock($fp, LOCK_UN);
fclose($fp);
itboostのロックの頁を見たら、上のようなソースが載っていた。
自分はfopen($file,"w")をしたときにrewindなんてしなかったんだけど、
rewindって必要なの?それともロックとかかけるときのみ必要なの?
0205縞栗鼠(シマリス)の親方
02/06/23 18:45ID:ZSSdFO5T汚物入れを物色して女子生徒の使用済みタンポン・ナプキン等を
個人的に収集しているというのは事実。
中央高等学院では
生徒及びその保護者の個人情報を名簿図書館等に売却しています。
中央高等学院 http://chs-f.com/index.html 中央高等学院福岡校
http://www.chuo-school.ac/
0208nobodyさん
02/06/24 01:16ID:0X7UgTkp0209nobodyさん
02/06/24 02:37ID:???<select name="array[]" size=20 multiple >
このように複数行選択した内容を扱いたいけどつかえないよ。
一応、他の変数のように
$array[] = $_REQUEST["array[]"];
このようにしたけど、空の値が入るだけ。
どうすりゃいいの?
昔はできたのに・・・・
ガイシュツだったらスマソ
0210名無しさん
02/06/24 03:49ID:???0212nobodyさん
02/06/24 21:22ID:v5JHJkLyという文字列の "63861" の部分を "f975" のように
16進数に変換し、
$str = "&#f975;";
というようにしたいのですが、書き方がわかりません。
$str = preg_replace( "/()([0-9]{5})(;)/", "$1$2$3", $str );
↑どう書けばいいのでしょう?
わかる方いたら教えてください。
m(__)m
※ちなみに全角にしているのは文字化け防止です。
0213nobodyさん
02/06/24 21:53ID:???強引にやってみた。駄目かなあ。。。
<?php
$str='&#63861;';
$str=dechex(eregi_replace("(&#)([0-9]*)(;)","\\2",$str));
$str='&#'.$str.';';
echo $str;
?>
0214nobodyさん
02/06/24 22:07ID:v5JHJkLyレスサンクス.
でも
$str = '&#63861;'
だけの時はいいんだけど
$str = 'わたしは&#63861;です。';
とかだったりするとだめっぽいです。
うーん。
0216nobodyさん
02/06/24 22:59ID:???0217sage
02/06/24 23:45ID:v5JHJkLy汚いけどナントカ動きました。
一度にやらなければそんなにむつかしくなかったです。
$str = "&#63861;";
preg_match_all( "/([0-9]{5});/", $str, $match );
for( $i=0; $i<count( $match[0] ); $i++ ) {
$match[1][$i] = '' . DecHex( $match[1][$i] ) . ';';
$str = ereg_replace( $match[0][$i], $match[1][$i], $str );
}
return $str;
0218nobodyさん
02/06/25 00:10ID:P4v4WPT0$str = "掠";
$str = preg_replace("/()(\d*)(;)/", "$1" . dechex("$2") . "$3", $str);
print $str;
0219nobodyさん
02/06/25 00:17ID:pVNEMAn7sybaseの拡張モジュールってあるのでしょうか?
※WindowsからLinuxにあるsybaseへアクセスしたい。ODBC無で。
0220216
02/06/25 00:41ID:???んな面倒なことせんでも2行でおさまるが。
$str = "掠";
ereg("([0-9]+);", $str, $match);
$str = "".sprintf("%x", $match[1]).";";
0221nobodyさん
02/06/25 01:35ID:???ありがとうございます。
でも、それだと >>214 でも書いたんだけど
$str = 'わたしは&#63861;です。';
のようなときにうまく動かないのです。
0223216
02/06/25 01:49ID:???$regRule = "(.*)([0-9]+);(.*)";
while(ereg($regRule, $str, $match))
$str = $match[1]."".sprintf("%x", $match[2]).";".$match[3];
0224nobodyさん
02/06/25 02:15ID:vEnhn/oCProxyのプログラムをPHPで作りたいです。
これが、一番参考になるかな〜って思ったけど
http://php.s3.to/net/kusi.phps
でも、駄目。
cURLを利用して、作りたいんです。誰か、つくりかた、おせて!
わからん...
0227nobodyさん
02/06/25 20:31ID:9ydA7d41何がどう駄目なんだよ!
だって、次のページへ進むとProxyがはずれるし、
Javaに対応してないし、
フレームにも、対応してないじゃん。
作りが、あまいの
もっと、プロ仕様にしてくれなきゃ。
0228nobodyさん
02/06/25 20:33ID:9ydA7d41cURLを使ってよ。
LetsPHPでしょ。Letsして!藁
0229nobodyさん
02/06/25 20:36ID:???―――┴┴┴┴┴―――――、
/.  ̄ ̄ ̄//. ̄ ̄| || ̄ ̄ ̄||| ̄ || __________
/. ∧// ∧ ∧|.|| ||| || /
[/____(゚_//[ ].゚Д゚,,) ||___||| || < 224=227=228を迎えに来ました
||_. * _|_| ̄ ̄ ∪|.|. .|ヽ. _|| \__________
lO|o―o|O゜.|二二 東|.|京 精神 .病院 ||
| ∈口∋ ̄_l__l⌒l_|_____|_l⌒l_||
 ̄ ̄`ー' ̄ `ー' `ー' `ー'
0230nobodyさん
02/06/25 22:37ID:???0231nobodyさん
02/06/25 22:38ID:24biITUFhttp://php.s3.to
作った人、きっと、見てんでしょ。藁
0232nobodyさん
02/06/25 22:47ID:???■ このスレッドは過去ログ倉庫に格納されています