【PHP】下らねぇ質問はここに書き込みやがれ 41
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2007/03/06(火) 15:39:46ID:naBsdy1ZPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 40
http://pc11.2ch.net/test/read.cgi/php/1172151461/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
0809nobodyさん
2007/03/15(木) 09:31:44ID:7XZoL+s0もの凄く初歩的な質問だと思いますが教えて下さい。
変数に代入する値はどんなものであっても、
phpスクリプトの内容に影響を及ぼさないのでしょうか?
出力時、SQL文の実行時とは別で。
例えば、セミコロンを入力されると、内部でステートメントを区切られちゃうとか。
if文とかを書かれるとそれが実行されちゃうとか。
これは流石にないと思いますが…
0810nobodyさん
2007/03/15(木) 09:36:48ID:???0811nobodyさん
2007/03/15(木) 09:38:57ID:???アホかお前。
そんな間抜けな言語あるか。
っていうかお前みたいな奴は絶対にeval関数を使っちゃダメだからな。
0812808
2007/03/15(木) 10:00:42ID:???ありがとうございます。
安心しました。
>>811
ありがとうございます。
そうですよね、質問しててこんなんだったら成り立たないなとか思いました。
なんかエスケープ処理とかそういうのを検索してたらワケがわからなくなりまして。
絶対にeval関数使わない様にします。
0815803
2007/03/15(木) 11:03:47ID:???あとphpマニュアルを読まずに質問したのは浅はかだったと反省しております
>>808
「ファイル化されていないものは添付ファイルとして送信できない」という
ことでしょうか?
今調べると PEARのMail_Mimeで ファイル化されていないものを添付ファイル
として送ることが出来そうだと言うことがわかったのですが これを利用した
場合も 一旦サーバ内のどこかにファイルが作成されると解釈すべきなので
しょうか?
それとも mail関数で送信した内容は プレーンテキストを含め 全て一旦
サーバ内に保存されるという意味でしょうか?
表現力も読解力もなくて本当にすいません…
>>813
不快な思いをさせてしまい 大変失礼いたしました
0816nobodyさん
2007/03/15(木) 11:43:23ID:???元々画像ファイルがあればそのままバイナリで
読み込んで添付する事はできるしテキストもどこかに保存されるわけじゃない
メールとして送られるキュー状態を「ファイル化」というならともかく
何を持って「ファイル化」と言っているのか知らないが
問題はそんなことより注文したら画像付きのHTMLメールが
送られてくるなんてありがた迷惑も
甚だしいというところなんじゃないだろうか
商品を見てよし買おうというステップを踏んで買ってるのに
その画像が送られてきてもね
0817nobodyさん
2007/03/15(木) 11:56:22ID:9KVNC1ESこの文って、excelのif関数の
=if(a1="fuga",true,false)
と同じなんですか?
ふと思いまして、突然質問してしまいましたが、よろしくお願いします。
0818nobodyさん
2007/03/15(木) 12:06:27ID:bQrJdpxgありますでしょうか?
0819803
2007/03/15(木) 12:10:02ID:???ご丁寧な説明ありがとうございます
そして説明がいまだに不十分であったことをお詫びいたします
添付したいファイルはHTMLです
画像を添付するのではなく HTMLを添付してそこに画像へのリンクを
挿入することで確認してもらう予定です
(当然ながら事前に確認してもらうフォームは設けております)
HTMLのデータを変数に設定してメール送信して その変数の内容がサーバに
保存されることなく HTMLの添付ファイルとして送信することが可能かどう
か知りたかったのです
(添付ファイルよりHTMLメールのほうがいいならそちらを検討しますが)
「買ったあとに画像を見せられても…」についてはおっしゃる通りかもしれ
ません
ただ 当方ではカスタマイズ商品を扱っており オプションが細かいことから
商品を受けたあとに「こんな感じで注文した覚えはない」と言うクレームが
発生しがちなのです
無駄なクレームを減らすために「あなたはこういった注文をしましたよ」と
いう わかりやすい確認メールを画像付きで送りたいと思っています
0820nobodyさん
2007/03/15(木) 12:19:56ID:V8NaW7u1xmlファイルの読み取り権限をチェックしろ
0822nobodyさん
2007/03/15(木) 12:37:34ID:bQrJdpxgRSSのxmlでブラウザでは開けるんだけどね
PHP側の問題ではないの?
0823nobodyさん
2007/03/15(木) 12:50:26ID:wd/M4m1q'a' => 'あああ',
'b' => 'いいい',
'c' => 'ううう',
'd' => 'えええ'
);
print $array['a'];
print $array['b'];
print $array['c'];
print $array['d'];
としたときに、$array['a']だけ出力されません。
$array = array(
'b' => 'いいい',
'a' => 'あああ',
'c' => 'ううう',
'd' => 'えええ'
);
としたら、$array['b']だけ出力されません。つまり、$array[0]が出力されないのです。
print_r($array);
とすると、出力されない値もちゃんと存在することが確認できました。この原因はなんなのでしょうか?ご存知の方、良ければご教示ください。
0825nobodyさん
2007/03/15(木) 12:58:11ID:wd/M4m1qいえ、途中経過で$arrayはいじってません。
関数の引数として渡しているだけです。
0827nobodyさん
2007/03/15(木) 13:24:21ID:???マジでお前にはプログラミングは向いてないから3秒以内に辞めたほうがいいと思う。
センスも無ければ、知識も無い。
自らメールなどの仕様を調べる努力もしない。
ダメだこりゃ。
0828nobodyさん
2007/03/15(木) 13:25:31ID:???0829nobodyさん
2007/03/15(木) 13:59:33ID:???0830虚弱PHP
2007/03/15(木) 15:03:54ID:???>>823
多分、単なる記述ミス。
記述ミスの可能性がないなら最小再現コードを貼り付けるべし。
>>823そのままでも再現するの?
0831nobodyさん
2007/03/15(木) 16:54:10ID:???function ClassMethod() {
print 'class:' . get_class($this);
}
}
class Hoge {
function __constuct() {
ClsMtd::ClassMethod();
}
}
$hoge = new Hoge();
の出力が
class: Hoge
となるんだけども、$thisのスコープはどうなってんのる。
0832nobodyさん
2007/03/15(木) 16:56:50ID:zc90m/WcUTF-8→EUC-JPに変更しても駄目でした
色々なサイトを参考にphp.iniを変えて
みたのですが文字が?なってしまいます
どなたかご教授を・・・
0834軟式PHP
2007/03/15(木) 17:30:11ID:???「 phpmyadmin skip-character-set-client-handshake 」
をキーワードにぐぐってもだめかい?
自鯖なら俺はnavicatとか使うタイプなのであんま詳しくわからんけど('A')
あと海外レン鯖でphpmyadmin使った時、マルチバイトが全部????になったけど
データベースや各テーブルなどの全ての照会順序をeucjpms_japanese_ciにして
データを入れなおしたら普通に表示されるようになったよ。
0835nobodyさん
2007/03/15(木) 17:33:55ID:+HEWAk65急用が出来て携帯からです
Win XP 98SE でもダメ
0836nobodyさん
2007/03/15(木) 17:34:56ID:???データベースに入っている文字の時点で
化けているのか?
それとも表示だけば化けているのかによって
対応も変わる。
データベースに入れたデータも化けているのなら
phpmyadmin skip-character-set-client-handshake
で解決するはず。
一度データベースをきれいに消して作り直して
試してみれば?
0838nobodyさん
2007/03/15(木) 17:41:04ID:???__constuctとかClsMtdとかテキトーな事ばっか書いてんじゃねぇ。
あと本題はマニュアル嫁。
http://jp.php.net/manual/ja/language.oop5.basic.php
0839nobodyさん
2007/03/15(木) 17:41:51ID:+HEWAk65euc‐jpm…にはしたのですが…
スイマセン ハンドではググてませんでしたm(__)m
0840nobodyさん
2007/03/15(木) 17:42:50ID:???注意: 擬似変数 $this は、メソッドが静的にコールされた場合に
常に定義されるわけではありません。
しかし、はっきりしていることは: もしメソッドが別のオブジェクトから
静的にコールされている場合は $this が定義されるということです。
この場合、$this は呼び出し元のオブジェクトとなります。
0841nobodyさん
2007/03/15(木) 17:45:49ID:+HEWAk65PHPMYADMIN内では?にはならず通常に表示されます
XP & 98SE
0842nobodyさん
2007/03/15(木) 17:50:05ID:???それって、DBにはちゃんと格納されているってことなのか?
なら、表示させようとしているページの方が問題じゃないのか
というか、phpmyadmin 内ではなく、sql を自分で発行して
テキストファイルに出力したりして確認したほうがいいぞ
0843nobodyさん
2007/03/15(木) 18:01:34ID:???class aaa{
public static function rep($str) {
$s = preg_replace_callback("/([0-9a-z]+)/", self::callback(), $str);
return $s;
}
public static function callback() {
return "####";
}
}
echo aaa::rep("あいうabc123えお");
結果
Warning: preg_replace_callback() [function.preg-replace-callback]: Requires argument 2,
'####', to be a valid callback
0844軟式PHP
2007/03/15(木) 18:04:44ID:???おしい。
$s = preg_replace_callback("/([0-9a-z]+)/", array("aaa","callback"), $str);
0845843
2007/03/15(木) 18:12:48ID:???おお、できましたありがとう
関数名の指定がおかしいんだとばかり思っていじくりまわしてた
まさか配列で指定する方法があるとは
0846虚弱PHP
2007/03/15(木) 18:27:54ID:???callback という擬似的な型がある。
http://www.php.net/manual/ja/language.pseudo-types.php
あ、そうかPHPって基本的に型を意識しない言語だから、
普通の人はマニュアルに書いてある型も無視しちゃうのか。
0847nobodyさん
2007/03/15(木) 20:24:22ID:/iEh48++削除機能がついたゲストブックを作っています
投稿する項目は name と comment があり、
$name|$commentとしてlog.txtの同じ行に書き込まれます。
次に投稿された内容は、前のコメント内容の次の行に書き込まれます。
admin.php という管理画面で、
log.txtから投稿された書き込み一覧を取得し、各行をforeachでループ処理させ、
その中から削除したい行を選択しつつ、del.php へ移動し、
選択された行を削除したいのですが、
del.php からの特定の行を削除する方法がわかりません
解決策を教えていただきたいです。
-----------
続きます
0848847
2007/03/15(木) 20:24:54ID:/iEh48++<?php
$filename = 'log.txt';
$line_list = file($filename);
foreach ($line_list as $line_number => $line) {
//各行をそれぞれ | で $name と $comment に分割
list($name, $comment) = explode("|", $line);
echo "名前: ".$name."<br>コメント: ".$comment."<br>";
//「削除する」が選択された行が第何行目なのかを把握し、del.phpに移動
echo "<a href=\"del.php?linenumber=$linenumber&mode=delete\">削除する</a><hr>";
}
?>
---------------------------------------------------
del.php
<?php
$filename = 'log.txt';
$line_list = file($filename);
$line_number = $_GET['line_number'];
//admin.phpで選択された行を削除したいのですが、ここからがわかりません どうかよろしくお願いします。
0849847
2007/03/15(木) 20:26:19ID:/iEh48++インデントがありませんでした
見難くなってしまいました
すいません
0850虚弱PHP
2007/03/15(木) 20:32:37ID:???全部読み込んで、削除する行を消したら、全部書き込み。
DB使った方が楽だと思うよ。
SQLiteなら設定いらないしファイルベースだから面倒じゃないでしょ。
0851847
2007/03/15(木) 20:51:44ID:/iEh48++アドバイスありがとうございます
全部読み込むというのはわかるのですが、
行の削除というやり方がわかりません
すいません
0853nobodyさん
2007/03/15(木) 21:30:05ID:???0854847
2007/03/15(木) 21:34:21ID:???ありがとうございます
なんか光明が見えてきた気がします
精進します
>>853
キモイというのはどういうことですか?
スマートじゃないってことですか?
データの管理の仕方として危ういってことでしょうか?
0855虚弱PHP
2007/03/15(木) 21:53:37ID:???確かに投稿したけど削除したのと、
投稿していないのは違った方がいい場合が多いよね。
結構定番なのは、「削除済み」フラグだけ立てといて、
実際の削除はいつかやるってのじゃないかな。
0856nobodyさん
2007/03/15(木) 23:53:59ID:???社員が更新してるの?
0857nobodyさん
2007/03/16(金) 00:23:25ID:Isw9h1zM0859nobodyさん
2007/03/16(金) 00:41:05ID:???001ディレクトリにはいろんなファイルが入っているとします。
このディレクトリのファイル一覧を取得したいと思いますがエラーで困ってます。
$dir = "./";
$file = scandir($dir);
↑このように相対パスで指定してやるとうまく動くのですが、
$dir = "http://example/a/001/";
$file = scandir($dir);
↑のように絶対パスで指定してやるとワーニングでエラーが返されます。
scandirは相対パスでしか指定できないのでしょうか?
他にやり方がございましたらご教授お願いいたします。
0860859
2007/03/16(金) 00:41:36ID:h6PC42v/0862nobodyさん
2007/03/16(金) 00:45:07ID:???0863nobodyさん
2007/03/16(金) 00:56:04ID:h6PC42v/相対パスであきらめます。
相談に乗って頂きましてありがとうございます。
0865nobodyさん
2007/03/16(金) 03:31:28ID:/0oeqwmMWarning: file(http://localhost/...) [function.file]: failed to open stream:
接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。
または接続済みのホストが応答しなかったため、確立された接続は失敗しました。
Fatal error: Maximum execution time of 60 seconds exceeded
ってなってしまうんだけど、Vistaじゃ出来ないでしょうかね?
環境は、ホームプレミアムでXAMPP 1.60aを使用(Apache/2.2.4,PHP/5.2.1)
php.iniの設定が変わってるわけでもないし、PukiWikiなんかは動くし、
サーバが原因なのかPHPが原因なのかだけでも分かると良いんですが
0866nobodyさん
2007/03/16(金) 03:45:16ID:???0869nobodyさん
2007/03/16(金) 10:31:20ID:???なんせ情報が出回ってないんだから。
0870nobodyさん
2007/03/16(金) 11:16:32ID:???マクロメディアのソフトみたいに
入力支援や、カーソルのある関数に
プロパティウインドからパラメータを書き換えられるものってご存知ありませんか?
0871nobodyさん
2007/03/16(金) 11:20:32ID:ZEr5WJOq0872871
2007/03/16(金) 11:39:22ID:ZEr5WJOqPHPは奥が深いですね
また別の質問になってしまうのですが、
「Fri, 16 Mar 2007 09:49:43 +0900」
このような形式の文字列をtime()で取得した形にどうやって直せば良いのでしょうか?
0873871
2007/03/16(金) 11:41:29ID:ZEr5WJOq$date = "Fri, 16 Mar 2007 10:41:40 +0900";
echo time($date);
で取得することができました^^;
0874871
2007/03/16(金) 12:00:16ID:ZEr5WJOq0875nobodyさん
2007/03/16(金) 12:06:34ID:???phpファイルの一部をcgiで動作をさせるんですが
htaccessで次を記述しますが
<files ○○.php>
AddHandler application/x-httpd-phpcgi .php
</files>
このhtaccessはcgiで動かそうとしてるphpと同じフォルダにいれないと動作しないでしょうか?
例えば
一番上の階層abc(フォルダ)---abcd(フォルダ)2階層目
|
abc.php
|
abcd.php
このようなファイル構成になってるとしまして
htaccessをabcフォルダ上に置いて下の階層のabc.phpをcgiで動作させるために
<files ./abc.php>
AddHandler application/x-httpd-phpcgi .php
</files>
このようにして動作するのか教えてください。
0876nobodyさん
2007/03/16(金) 12:24:17ID:5GbGG00d>>873
自分で変換しないとだめだったはず〜
>>875
よくわからんが、<files ./abc.php>っておかしくない・・・
0879nobodyさん
2007/03/16(金) 13:18:56ID:???<Files ./abc.php>という指定だとカレントディレクトリのabc.phpにしか適用されないと思うんだが。
0880nobodyさん
2007/03/16(金) 14:37:01ID:y0HaZbOzphpinfoを見るとconfigureのところは
'--with-dom=shared,/usr' '--with-dom-xslt=/usr' '--with-dom-exslt=/usr'
と書いてあるのに、DOM XMLが有効になっていません。
この場合、何を確認すべきでしょうか?
PHPマニュアルには
「このPECL拡張モジュールはPHPにバンドルされていません。」とあるのに、
PECLの方の説明を見ると(http://pecl.php.net/package/domxml)
「NOTE: if you're running PHP 4.x, the domxml is already part of the distribution.」
と書いてあって、元から入ってるのか入ってないのかよくわかりません…。
0881865
2007/03/16(金) 15:08:03ID:IT8kjYuc返答有り難うです
いま外出先なんで、後で>>867-868辺りを見てみます
無理なら無理で全部動かなければ楽に諦めがつくのに
0882nobodyさん
2007/03/16(金) 15:16:14ID:???入ってる(エクステンション自体はついてくる)けど、リンクするようになってない(php.iniで設定されてない)んだよ。
とりあえずphp.iniにextension=〜を書けばいいだけ。
0883nobodyさん
2007/03/16(金) 16:23:55ID:y0HaZbOzヒントありがとございます!
今php.iniに
extension = domxml.so
extension = xslt.so
って書いてapache再起動してみたんですけど、
依然として有効にならない…。
他に確認しておくべき設定とかありますか?
0886nobodyさん
2007/03/16(金) 17:22:15ID:/N5iNfECmysql> GRANT ALL PRIVILEGES ON *.* TO guest@"%" IDENTIFIED BY 'pass';
を実行しguestユーザーを作成
PHPにて
<?mysql_connect('localhost', 'guest', 'pass');?>
接続OK
<?mysql_connect('123.456.789.123, 'guest', 'pass');?>
接続NG
なんだが、
別のサーバーからDBに入っている情報を取り出したいのだがどうしたらいいのですか?
0888nobodyさん
2007/03/16(金) 17:35:25ID:???0889nobodyさん
2007/03/16(金) 17:38:43ID:???という話であればここで回答できるとは思うけど。
0890nobodyさん
2007/03/16(金) 17:55:38ID:???grant したあとちゃんと
mysql> flush privileges;
で権限設定の再読み込みしてる?
0891nobodyさん
2007/03/16(金) 17:58:45ID:???あと今読み返して不思議だったのが
`guest`にgrantしたあとで`guest`を作成したの?
順番逆じゃね?
0892nobodyさん
2007/03/16(金) 18:21:16ID:???PHPで仕事をしたいと思ったのですが、PHPはまったくの未経験です。
未経験歓迎の会社は
「まったくの素人でも大丈夫!3ヶ月の研修で一人前に!」
なんてところが多くて、ありがたいのですが、そういうところは派遣で飛ばしてるところが多いので信用できません。
やはり最初から技術を身につけて少しでもまともなところに行くべきだと思っています。
そこで、一般的にこのくらいのレベルになれば雇ってもOKみたいな基準はあるのか教えてください。
0893nobodyさん
2007/03/16(金) 18:26:02ID:???0894nobodyさん
2007/03/16(金) 18:33:18ID:???∩___∩ /
| ノ ヽ /
/ > < |/ そんな餌パクッ
| //// ( _●_)/ミ
彡、 l⌒l ノ
/ __ \ \ヽ
. (___) \__)
. O| /
| /\ \
| / ) )
∪ ( \
\,,_)
0895nobodyさん
2007/03/16(金) 18:34:36ID:???訳のわからないところいかされた経験があって
当時は東京すんでたので東京希望したんですけど山梨に通勤させられたりとか
まぁ、それはひと月でやめたんですけど、もうああいうのは嫌だなあと思ったので・・・
0896nobodyさん
2007/03/16(金) 18:38:39ID:???それ断って派遣の登録やめて実家に帰ったんですけど、ろくな仕事ないのでお手上げ状態でして\(^_^)/
PHPなら趣味でカウンタと掲示板を勉強したことがあったのでこれで仕事できないかなと思って書き込みました
0897nobodyさん
2007/03/16(金) 18:52:26ID:???ttp://news4vip.livedoor.biz/archives/50936230.html
0900nobodyさん
2007/03/16(金) 19:46:32ID:???カウンタと掲示板作れますって面接で言うのか。まぁ判断するのは企業だが。
0901nobodyさん
2007/03/16(金) 19:48:53ID:???0902nobodyさん
2007/03/16(金) 19:56:30ID:???そんなの誰でも出来て当然だろ。
SNSってのはWebアプリに必須の(わりと枯れた)基本技術の
集合体なんだから。
0903nobodyさん
2007/03/16(金) 20:03:08ID:???就活の時提出したのは、ホテルの予約サイトと通信販売のサイトだったよ。
バイトならゆるいと思うからバイトからも潜り込むってのも良いんじゃないかな。
俺が学生の時バイトしてた所は簡単な掲示板で採用された。
0904865
2007/03/16(金) 20:06:21ID:/0oeqwmMファイアウォールは切っても関係ありませんでした(localhostでの取得不可
0905nobodyさん
2007/03/16(金) 20:24:16ID:???せっかくだから作ってやったよ。
http://jimaku.in/w/TjCXdlPQraI/N_Xj1b_hnVz
0907nobodyさん
2007/03/16(金) 20:33:01ID:???怪しいURLだからクッキー、JS、Javaきって画像読み込み禁止して、
万全の体勢でみたのに…普通に笑ったわ。
0909nobodyさん
2007/03/16(金) 21:22:03ID:9jNqxHVU<a>
<b>
ほげほげ<c>ふー</c>ばー
</b>
</a>
こんなXML文書があって、bのノードを得てget_content()すると、
"ほげほげふーばー"という文字列が得られるのですが、
ここで"ほげほげ<c>ふー</c>ばー"という文字列を得るにはどうすればいいのでしょうか。
レス数が900を超えています。1000を超えると表示できなくなるよ。