【PHP】下らねぇ質問はここに書き込みやがれ 68
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/05/03(土) 22:52:16ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0427nobodyさん
2008/05/11(日) 12:55:27ID:???567・・・2
89・・・3
0428nobodyさん
2008/05/11(日) 12:55:49ID:???0429nobodyさん
2008/05/11(日) 13:28:56ID:???/*
現在理論しか通じないパソコンとプログラミングで対話中です。
人様との円滑な対話モードへの切り替えが少々上手くいかない場合や遅い場合が多々ありますので、理屈や理論以外をお求めの方はご遠慮頂くか少々お待ち頂くか生暖かい目で見守ってくださるようお願い致します。
*/
0430nobodyさん
2008/05/11(日) 13:41:54ID:???$a = array(1,1,1,1,1,2,2,2,3,3);
echo $a[array_rand($a)];
0431nobodyさん
2008/05/11(日) 13:55:36ID:???PHP5 PEAR image_graph7.1
でjpg画像を作りたいのですができません(PNGはできる)
$graph =& Image_Graph::factory("graph", array(array("width" => 400, "height" => 400, "canvas" => "PNG")));
ここの最後の方の部分をJPGにする以外に変更が必要なのでしょうか?
下記の方法だと画像JPG画像はしっかり保存されてはいます。
$out = $Graph->done(array(
'tohtml' => TRUE,
'border' => 1,
'filename' => 'tes.jpg',
'filepath' => './',
'urlpath' => './'
)
);
0432nobodyさん
2008/05/11(日) 14:05:58ID:???0434nobodyさん
2008/05/11(日) 14:57:33ID:???Apache/2.0.52
PHP 4.3.9 (cgi) (built: Sep 20 2007 19:31:11)
mysql Ver 14.7 Distrib 4.1.20
phpmyadmin-2.11.6-1.el4.rf
という環境です。この環境で、
クライアントマシンから phpmyadmin にアクセスすると、
mcrypt 拡張をロードできません。PHP の設定を確認してください
と警告を受けます。mcrypt 関係は
libmcrypt-devel-2.5.7-2.el4.kb
libmcrypt-debuginfo-2.5.7-1.2.el4.rf
libmcrypt-2.5.7-2.el4.kb
mcrypt-2.6.4-2.el4.kb
がインストールしてあるのですが。
この問題はどのようにフィックスすべきなのでしょうか?
それとも何も問題がないのでしょうか?
0435nobodyさん
2008/05/11(日) 15:12:25ID:???0436nobodyさん
2008/05/11(日) 15:15:43ID:???のRHEL4用php-mcryptを入れても大丈夫かもしれんが試してない
0438nobodyさん
2008/05/11(日) 18:57:26ID:???0439nobodyさん
2008/05/11(日) 20:39:47ID:???0440nobodyさん
2008/05/11(日) 21:00:47ID:???そんな時代にあって、俺はその天才的な人間の1人なのかもしれない。
俺のせいで、仕事がなくなって首になった奴が相当いる。
もちろん、その中には潰れた会社もある。
でも、それが自然淘汰、適者生存であり自然の摂理なのだから・・
0441426
2008/05/11(日) 23:21:03ID:t1T6pRlqありがとうございます。上手くできました。
ただ、細かい%で区切りたい場合はどうなるのでしょうか?
array内の数が増えすぎると思うのですが・・・。
if文と倍数を使う方法も考えたのですが、数学が苦手でわかりません。。
何か良い関数はないでしょうか?
0444nobodyさん
2008/05/11(日) 23:37:06ID:???0445426
2008/05/11(日) 23:42:46ID:???教えて貰ったのを参考に、以下のソースを作りました。
たぶん、行けるのではないかと思っていますが、おかしい場合は指摘して下さい。
$item = array("aaa"=>"50","bbb"=>"30","ccc"=>"20");
$num_max = array_sum($item);
foreach($item as $keys => $values){
$number = $values/$num_max*10;
for($i=0;$i<$number;$i++){
$array[] = $keys;
}
}
echo $array[array_rand($array)];
0446nobodyさん
2008/05/11(日) 23:48:23ID:???0447nobodyさん
2008/05/12(月) 00:05:59ID:???0448nobodyさん
2008/05/12(月) 00:17:13ID:???0449nobodyさん
2008/05/12(月) 00:59:12ID:???http://jp2.php.net/manual/ja/simplexml.examples.php
$obj = new SimpleXMLElement($xml);
PEARのXML_Serializerを使わないで、PHP5の関数を使って
オブジェクト$objを配列に変換するにはどうしたらいいですか?
0450449
2008/05/12(月) 01:01:55ID:???0451449
2008/05/12(月) 01:45:29ID:???秋元さんのブログの解説?
http://akimoto.jp/blog/2008/01/05/php%E3%81%A7%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E9%85%8D%E5%88%97%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AFget_object_vars/
よく分からなかったので、とりあえずPEAR::XML_Serializerを使うことにしました!^^
…便利すぎて勉強にならん><
0452449
2008/05/12(月) 01:49:26ID:???$unserializer = new XML_Unserializer();
$unserializer->unserialize($xml);
$array = $unserializer->getUnserializedData();
print_r($array);
これでOK
$obj = new SimpleXMLElement($xml);
でも値を取り出せるのでOKなんだけど、データ型はオブジェクトのまま
配列と同じ操作で扱うのは何か変だなーと思った
おやすみなさい
0453nobodyさん
2008/05/12(月) 01:53:48ID:???0454nobodyさん
2008/05/12(月) 07:24:54ID:o0vmBy2P今運営しているPCサイトの携帯版を作ろうと思っています。
携帯用にするとき、元のサイトのサイズが大きいため分割する必要があると思い自分なりにやってみましたが、
分割のやり方が悪いため、htmlタグの途中で切れたりして変になってしまいます。
//1ページあたりの文字数(ページのサイズ)
$pagesize=1000;
元の文字列をページサイズで割り、合計のページ数を出す
$totalpage=ceil($str/$pagesize);
//↓1ページ目の場合は、テキストが0〜1000までの部分文字列になる
$text=mb_substr($str,($page-1)*$pagesize,$pagesize);
上記のようにやってみたのですが、下記のようになったりします。
----------------------------------------------------
nページ目のテキスト終わり部分
・・・・・・・・
<a href="http:
---------------------------------------------------
n+1ページ目のテキスト始め部分
//hoge.com">ホゲドットコム</a>
---------------------------------------------------
タグの部分で分割させないためには、
1000文字を超えたところで一番最初に出てくる \n で分割したりすればいいと思うのですが、
それはどのようにやればいいのでしょうか。
アドバイスお願いします。
0455nobodyさん
2008/05/12(月) 07:42:33ID:???. が1バイトになるのか1文字になるのかは、よく知らないから自分で確認してね。
0456454
2008/05/12(月) 08:19:16ID:o0vmBy2Pアドバイスありがとうございます
やってみます
0457454
2008/05/12(月) 08:30:04ID:o0vmBy2Pすいません
ずうずうしいですが、何の関数を使ったらよいか教えてもらえないでしょうか
0458nobodyさん
2008/05/12(月) 08:50:40ID:???なんで検索すらしないの?
http://www.google.co.jp/search?hl=ja&q=php+%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE+%E9%96%A2%E6%95%B0&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0459nobodyさん
2008/05/12(月) 09:07:53ID:???こんなかんじにしたときに、
携帯(DoCoMo)だとSIDが100%付与されるのですが、
PCだと付与されるときとされないときがあります。
原因は何でしょうか・・?
0460nobodyさん
2008/05/12(月) 09:54:38ID:???マニュアルぐらい調べろ。すっとこどっこい
http://www.php.net/manual/ja/session.idpassing.php
0461nobodyさん
2008/05/12(月) 12:23:50ID:???htmlの文字数で分割すると
場合によっては1ページ中に含まれるコンテンツがほんのわずかで
ユーザに余計なページ送りのストレスかけることにならないかい?
0462nobodyさん
2008/05/12(月) 16:05:32ID:1jI7+vyuvar_dump()をかけると以下の結果を返す配列があります。($data_list)
array(1) { [0]=> array(7) { ["id"]=> string(1) "5" ["title"]=> string(97) "ゴールデンボウル~ポール・アンカ・オリジナル・グレイテスト・ヒッツ"
["artist"]=> string(21) "ポール・アンカ" ["kaisetsu_text"]=> string(19) "おすすめのCD 1"
["url"]=> string(7) "testURL" ["myWork"]=> string(1) "1" ["musicGenre"]=> string(1) "5" } }
これに対して、titleを抜き出したくて echo $data_list["title"] としても何も表示されません
どうしてでしょう? ご意見お願いします
0463nobodyさん
2008/05/12(月) 16:08:00ID:???以下のようにするとよくわかります
echo "<pre>";
var_dump($data_list)
echo "</pre>";
0464nobodyさん
2008/05/12(月) 16:08:24ID:???×$data_list[7]['title']
○$data_list[0]['title']
0465nobodyさん
2008/05/12(月) 16:16:41ID:1jI7+vyuありがとうございます!
そっか、二次元になってたんですね 自分で作ったのに忘れてました
echo "<pre>";
var_dump($data_list)
echo "</pre>";
↑これも活用します ありがとう
0466nobodyさん
2008/05/12(月) 19:01:23ID:???ini in directory C:/xampp/php/PEAR/PhpDocumentor
-Is phpdoc in either the path or include_path in your php.ini file?
Xampp使ってるんですが、これはどういういみでしょうか。
0467nobodyさん
2008/05/12(月) 19:32:36ID:o0vmBy2P検索しましたが、preg_split()でうまくできませんでした
何時間考えても自分ではもうわからないので答えそのものを聞きたいところですが
そんなことしたら罵倒されるのはわかってるので、よそに行って聞いてきます
ありがとうございました
0469nobodyさん
2008/05/12(月) 19:42:34ID:???"/^.{1000}\n/"
確認してないけど正規表現で
0471nobodyさん
2008/05/12(月) 20:10:37ID:NEnrgbxPどうしてもエラーで出力自体が出来ません。
どのようにすればいいのでしょうか?
出力したいJavascriptはこのような感じです。
<SCRIPT language="JavaScript">
<!--
function OpenWin(url){
win=window.open(url,'sub','width=200,height=150');
}
// -->
</SCRIPT>
0472nobodyさん
2008/05/12(月) 20:12:23ID:???"/^.{950,1000}?.+\n/s"
0474nobodyさん
2008/05/12(月) 20:27:01ID:NEnrgbxPエラーはこのような感じです。
コードに関しては、上で書いたJavascriptをテンプレートとしてdisplayで出力するだけですから
0476471
2008/05/12(月) 20:41:04ID:NEnrgbxPなるほど
テンプレートで{}を出力する方法はありませんでしょうか
0477nobodyさん
2008/05/12(月) 20:55:31ID:1jI7+vyu記入>確認>登録 という流れを考えていて、
確認ページでは、
print $_POST['message']; の形で、記入ページでtextareaに
記入したものを確認できるようにし、
<input type="hidden" name="message" value="$_POST['message']" />として、
値を登録ページに渡すようにしています。
今まで、登録ページ(実際のSQL登録の直前)で、addslashes($_POST['message'])として
いたんですが、addslashes()は、確認ページですべきなんでしょうか?
<input type="hidden" name="message" value="addslashes($_POST['message'])" />という感じで。。
どなたか教えてください、よろしくお願いします
0479nobodyさん
2008/05/12(月) 21:01:26ID:???addslashesはDBに挿入する際のエスケープ。
HTMLタグ無効化はhtmlspecialshars
0480454
2008/05/12(月) 21:04:30ID:o0vmBy2Pでもダメでした
print_r(preg_split("/^.{1000}.*?\n/s", $str));
結果
Array ( [0] => [1] =>
[1]に$str全部がはいる
print_r(preg_split("/^.{950,1000}?.+\n/s", $str));
結果
Array ( [0] => [1] => )
空
正規表現ではなく私の関数の使い方がおかしいのかもしれません
お付き合いありがとうございました
0481nobodyさん
2008/05/12(月) 21:06:42ID:1jI7+vyuありがとうございます じゃ、上のケースだと、確認ページで
print htmlspecialchars($_POST['message']);
<input type="hidden" name="message" value="{htmlspecialchars($_POST['message'])}" />
という感じでしょうか?
使い分けがいまいちわからず困ってました ありがとうございました
0482nobodyさん
2008/05/12(月) 23:11:13ID:???もう見てないかもしれんが
preg_match_all('/.{1000}.*?\n|.*/s', $str, $matches);
ちゃんと動くかどうかは自分で確認して。
0483nobodyさん
2008/05/13(火) 00:16:15ID:???このCGIをそのままインデックスページにしたいんですけど
CGIですからURLがhttp://***/cgi-bin/gallerypro/gallery.cgi
っていう風になるのが気に食わないので
http://****/だけで済むURLでインデックスページにしたいんですけど
どうすればいいですか
0484nobodyさん
2008/05/13(火) 00:18:27ID:???http://ml.php.gr.jp/pipermail/php-dev/2005-June/001135.html
このページに出ているような現象が出ていますが、
session_idを見たところ、これといって問題はありませんし、
プログラム的にもそこまでがちがちのセキュリティをというものでもないので、
このエラーを回避するようにしたいのですが、
どのような処理を行えばいいか教えていただけないでしょうか
よろしくおねがいいたします。
0485nobodyさん
2008/05/13(火) 00:33:59ID:???0486454
2008/05/13(火) 00:42:34ID:dYo6M2/fできました!!
今日一日かかってもできなかったので、
とりあえず\nで分割して配列にいれて、処理させようと考えていたところでs
本当に感謝です!!
0488484
2008/05/13(火) 00:44:57ID:???あふぉはすぐそうやって知識のない人間を卑下するww
0489nobodyさん
2008/05/13(火) 01:06:30ID:???はい、次の質問どうぞ
0490nobodyさん
2008/05/13(火) 01:26:38ID:YiuUZfQA<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?>
上記を一行目に入れると、ブラウザ上に「"; ?>」の文字が表れました。
「"; ?>」を表示させないようにするためには、どうしたらいいでしょうか。
0491490
2008/05/13(火) 01:31:05ID:YiuUZfQAこう書いたら、「"; ?>」の文字は消え、かつブラウザに中身が表示されましたが、
こうしちゃっても大丈夫なのでしょうか?
0493nobodyさん
2008/05/13(火) 02:30:25ID:Xhimy1cEおまえ市ねよ。ホントやなやつだな。
0497nobodyさん
2008/05/13(火) 02:59:57ID:???inputフォームからの値の受け渡し時にhtmlspecialcharsする必要はない
htmlに出力する際にhtmlspecialcharsを使う
0498nobodyさん
2008/05/13(火) 03:03:03ID:???0500nobodyさん
2008/05/13(火) 03:07:43ID:???そこまで思いついてて なぜそのやり方なんだよw
だめにきまってるだろ
>>490 のやり方で文字分割して出力しろ
0501nobodyさん
2008/05/13(火) 04:04:30ID:2tOaVNoEhttp://nezumin85.blog71.fc2.com/
のブログで
アドセンスをプラグインで貼り付けて、各記事の文の一番下に表示
させてるのですけど、アドセンスを一番上の記事の下だけに
表示させるにはどうすればいいのでしょうか?
わかる方いたら教えてくれませんか?お願いします。
このサンプルコードを使えばできるみたいなのですけど
phpの知識がないのでわからないです…。
何百回も自分で色々してみたのですけどどうしてもできません。
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); $loopcounter++; ?>
// the loop stuffs
<?php if ($loopcounter <= 1) { include (TEMPLATEPATH . '/ad.php'); } ?>
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
the loop stuffs のところは、エントリーを表示するコードが入ります。
ad.php を作っておき、そこに広告コードを挿入します。
0503nobodyさん
2008/05/13(火) 08:27:10ID:???実行して、生成されたHTML見ると
<?xml version="1.0" encoding="Shift_JIS"?>
って出るんだけど、何が問題なの?
0504nobodyさん
2008/05/13(火) 08:54:15ID:???ちゃんと出されてるソースを全部嫁
>print htmlspecialchars($_POST['message']);
><input type="hidden" name="message" value="{htmlspecialchars($_POST['message'])}" />
上のprintしている部分の話ではない
下のフォームからphpへ受け渡す段階の話をしている
0506490
2008/05/13(火) 09:26:20ID:YiuUZfQA分割して出力してもだめでした。どうしても「"; ?>」が出ます。
>>503
ソースには、そのまま下が書いてありました。
<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?>
php使えるサーバなのですが……。
Fxでソースを見ると、「<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>」までがピンク、
「"; ?>」が黒で表示されました。
ということは、ブラウザは一番目の「?>」までしか判断していない、ということになります。
ためしに一番目の「?>」を「?>」にしたら出来ましたが、やっぱりだめですか?
これでも駄目なら、もうどーにでもなーれー
0507490
2008/05/13(火) 09:30:21ID:YiuUZfQA「?>」→「?&gt;」です。
0508nobodyさん
2008/05/13(火) 09:31:19ID:???0510nobodyさん
2008/05/13(火) 09:38:03ID:???ああスマンよく読んでなかったのは俺のようだ
{}で囲ってるとこを見るとphpから出力してるのか
てっきりhtmlに埋め込んだコードかと思ってた
フォーム部分とは分離したほうがいいけどね
0511nobodyさん
2008/05/13(火) 10:11:10ID:???<?php echo '<?xml version="1.0" encoding="Shift_JIS" ?'.'>'; ?>
これでどう?
0512nobodyさん
2008/05/13(火) 10:24:51ID:???phpが実行されてないと気づけよw
0514nobodyさん
2008/05/13(火) 21:37:28ID:???むしろお前の方が頭悪すぎ。
どう悪いかというと、脳のシナプスの軸索のからレセプターへ
ノルアドレナリンの放出が鈍くなっているか極端に少なくなっている。
栄養の偏りで小さな血栓が脳を部分的に閉塞しているはず。
すぐに病院に行け。
0515nobodyさん
2008/05/13(火) 21:46:16ID:4/oebqLDPHP LearnsのMYSQL LINKRANKを探しています。
使おうと思ったらサイトが閉鎖していました…
必要な機能としては…
・大量にリンク可能(=SQL…ですかね?)
・カテゴリ分類可能
・管理人のみ編集可能
・検索機能付き
・可能ならば携帯可
もし、似たようなものがあればどなたか教えてください。
かれこれ累計20日くらい探しているのですがいまいち良し悪しが判らず、
一番良さそうなのがMYSQL LINKRANKなのですがどこのリンクから入ってもキャッシュカード(?)のブログが表示されてしまいます。
閉鎖していて、移転先もないようなので困ってしまいました。
どなたかお願い致します。
0517nobodyさん
2008/05/13(火) 21:54:15ID:KUG4Ujxhその逆で、
16進数を数字に変更したいのですけど、どのようにすれば可能でしょうか?
0519nobodyさん
2008/05/13(火) 21:58:38ID:KUG4Ujxhhttp://web.archive.org/web/20050801010807/http://sss.moo.jp/php.html
こんなんでどうでしょう?
>>518
それで可能でしたか。ありがとうございます
0520nobodyさん
2008/05/13(火) 23:12:33ID:4/oebqLDうわぁああああそれだぁぁぁぁぁあああ!!!!!
とてもありがとぉぉぉぉぉおおおおお!!!!!!
これで便利なサイトが作れます。三日三晩感謝します。
0521nobodyさん
2008/05/13(火) 23:18:42ID:sbqm3fgyこの変数$bbs_linkの内容をtxtファイルに保存したいんですがうまくいきません。
$count=10としたら
<a href="bbs10.php">10.php</a>
という内容で変数に代入してファイルに書き込みたいんですが
どうすればよいのでしょうか?
0523nobodyさん
2008/05/13(火) 23:36:05ID:Iq/6RSHi数KBになると、そのコネクションを担当しているスレッドがスリープしたり
するんでしょうか。
あるサイトからBIOSをダウンロードしているのですが、時々、コネクションが
切られることなくダウンロード速度が0byte/sになb閨Aしばらくすb驍ニ、また
ダウンロードを始めるみたいな、間欠的な動きをします。
このような動作をするサイトからはfirefoxではダウンロードが完了しない
ことが多いようで、Irvineなどを使わないとダメなようです。
0525nobodyさん
2008/05/14(水) 00:47:29ID:JIUW+do7パラメータが0,1,2→$array[0][1][2]
パラメータが3,4→$array[3][4]
で、パラメータの数と値が毎回変わる感じです
■ このスレッドは過去ログ倉庫に格納されています