トップページphp
1001コメント318KB

【PHP】下らねぇ質問はここに書き込みやがれ 71

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/07/17(木) 19:42:52ID:DVaNTncw
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0027nobodyさん2008/07/20(日) 00:07:35ID:???
うん可能
0028262008/07/20(日) 02:12:58ID:???
どの関数を使えばいいのでしょうか
0029nobodyさん2008/07/20(日) 02:28:53ID:???
1発でできるような関数はない。
ネットワークの仕組みを考えればすぐ分かるはず。
送り手、受け手両方プログラムを用意する必要がある。
あと、

マルチ氏ね
0030262008/07/20(日) 02:34:31ID:???
マルチになるから最初に聞いたところのは既に消してあります
fopenでURLを指定してバイナリモードで開いて
そのあと何か関数を使って保存するのかなと思ったのですが
0031nobodyさん2008/07/20(日) 02:52:19ID:???
>>26でokじゃん
0032nobodyさん2008/07/20(日) 03:31:36ID:???
以前そのままにしてすみません。
javascriptで、外部phpから取得し、html書式で返ってきたものを表示させるということがしたいと思っています。

<script type="text/javascript" language="javascript">
<!--
document.write("<script type='text/javascript' src='http://〜/data.php'></script>");
// -->
</script>

--------
data.php
<?php
$KeyWord=$_GET["key"];
$sum1="document.write(\"<a href='{$Keyword}' target='_blank'><img src='http://〜/〜.png' border='0'/></a>\");";
echo $sum1;
?>

このようなプログラムです。いろいろ試したのですが、どうしてもうまくいきません。
phpのほうをこのようにすると動きます。教えていただいたことをやってみてもうまく動きません。
呼び出し方がまずいんでしょうか?よろしくお願いします
<?
echo 'hello';
?>
0033nobodyさん2008/07/20(日) 03:47:22ID:???
詳しく見てないけど
とりあえず問題切り分けてみたら
0034nobodyさん2008/07/20(日) 03:50:25ID:???
data.phpで外部js(data.js)を吐く工程を記述する
fopen->fwrite->fcloseもしくはphp5ならfile_put_contentsなどで

$sum1="document.write(\"<a href='{$Keyword}' target='_blank'><img src='http://〜/〜.png' border='0'/></a>\");";
file_put_contents("data.js", $sum1, LOCK_EX);

とする
そうすると$sum1が記述されたdata.jsができあがるので
それを呼び出す
<script type="text/javascript" src="http://example.com/data.js"></script>
0035nobodyさん2008/07/20(日) 03:53:37ID:???
簡単に言っちゃうと

document.write("<a href='「リンク先URL」' target='_blank'><img src='「画像のURL」' border='0'/></a>");
このような値をphpが返してくるんですが、「この画像にリンクが貼ってある」というように表示させたいのです。html形式として。
表示させたいサーバーはphpが動かないので(PHPをおいてあるサーバーは動きます)javascriptで呼び出して表示させたらいいんじゃないかと思いまして。
javaはあまりやったことないのでかなり手間取ってしまって、ずっと悩んでいるんdネスが解決の糸口が見つけられず
0036nobodyさん2008/07/20(日) 04:00:51ID:???
>>34
ありがとうございます。
なるほど、そういうやり方もあるんですね。大変参考になりました。
言葉足らずで申し訳ないのですが、今回の場合、多数のリンクを形成したいと思っていますので、なるべくファイルを残したくないと考えています。
別の形で利用させていただきます。

document.write("<script type='text/javascript' src='http://〜/data.php'></script>");

ここの部分の呼び出し方はあっているんでしょうか?
data.phpに?key=****みたいに、リンクを作る際そのつど多様な引数を与えようと思っています。

htmlspecialcharsも挟ませて見たのですが、エラーが出ます。
間違いの可能性のある部分を指摘していただくだけでも大変参考になります。自分じゃ気付けないので\
0037nobodyさん2008/07/20(日) 04:11:51ID:???
data.phpを呼び出せばいいんでしょ?
<script type="text/javascript" scr="http://example.com/data.php?key=hoge"></script>
0038372008/07/20(日) 04:12:22ID:???
scrじゃなくてsrcね
0039372008/07/20(日) 04:16:02ID:???
data.phpは動的に生成される外部jsなのだから(jsのソースはいてるし)
呼び出す側のhtmlで呼び出したいところで上記のやつを書けばいい

>>32
><script type="text/javascript" language="javascript">
><!--
>document.write("<script type='text/javascript' src='http://〜/data.php'></script>");
>// -->
></script>
これは変
イメージとしてjavascriptの中でjavascript呼び出してる感じになってる
0040nobodyさん2008/07/20(日) 04:19:06ID:???
>>37
そうです。そして、呼び出すと
「document.write("<script type='text/javascript' src='http://〜/data.php'></script>");」
こんな感じのデータが帰ってきます、これをそのまま貼り付けたいというか、メインページに融合させたいんです。
004132,35,36,402008/07/20(日) 04:23:21ID:7gU9trCQ
ごめんなさい、ID表示忘れてました。
data.phpはjsじゃなくphpです
>>32
ここにソースが。document.writeというjavascript命令を返すようにしてあります。
ネットでこのようにやるやり方を見つけたので、いろいろ試していました。
0042372008/07/20(日) 04:37:12ID:???
>>41
とりあえず・・・

test.php (http://example.com/test.phpに置くとする)
<?php
if (!isset($_GET['str'])) {
$str = $_GET['str'];
}
echo "document.write(\"{$str}\" + \"<br>\");";
?>

test.html (ローカル上もしくは別サーバで実行する)
<script type="text/javascript" src="http://example.com/test.php?str=aiueo"></script>
<script type="text/javascript" src="http://example.com/test.php?str=kakikukeko"></script>

こういうことじゃないの?
test.phpはJavaScriptのソースをechoしてるわけだからJavaScript扱い
呼び出す側のtest.htmlでそのJavaScript(test.php)を呼び出せばいい
0043372008/07/20(日) 04:50:08ID:???
<?php
if (!isset($_GET['str'])) {
$str = $_GET['str'];
}
if (isset($str)) {
echo "document.write(\"{$str}\" + \"<br>\");";
}
?>
に訂正

実際はGETされた値をバリデーション(データが適切なものかチェック)したり
そのままgetしたものを表示すると危険なのでhtmlepecialcharsかませたりするけど
とりあえずテストスクリプトなので割愛
0044nobodyさん2008/07/20(日) 04:53:04ID:???
>>42
親切にありがとうございます。試してみます!
0045nobodyさん2008/07/20(日) 06:43:59ID:0ZMYxiu9
ある文字が漢字であるか平仮名であるかを判別したいのですが、
何か直接的なヒントになるようなページありますか?
文字コードは、UTF-8を使っています。

ユーザー情報登録用に、姓名の姓が漢字になっているかチェックをかけたいのと、
姓名の平仮名の入力部分が平仮名になっているかチェックをしたいと思っています。

前は全角でチェックをかけていたのですが、ひらがなと漢字を逆にしたり、
平仮名の箇所を片仮名で書いてくる人がいて、量も多いため事後チェックの作業が大変で困っています。

アドバイス宜しくお願いします。
0046nobodyさん2008/07/20(日) 07:28:38ID:???
>>45
ttp://phpspot.net/php/pg%90%B3%8BK%95%5C%8C%BB%81F%82%B7%82%D7%82%C4%82%D0%82%E7%82%AA%82%C8%82%A9%82%C7%82%A4%82%A9%92%B2%82%D7%82%E9.html
0047nobodyさん2008/07/20(日) 11:34:11ID:???
以下のサイトの内容をPHPでやる場合、どうやるのがスマートですか?
ttp://d.hatena.ne.jp/tkuro/20080716/1216192253
0048nobodyさん2008/07/20(日) 13:40:10ID:???
>>47
printf('%x', array_sum(array_map('hexdec', str_split($文字列, 2))));
0049nobodyさん2008/07/20(日) 13:47:15ID:???
>>47
おお!やるねぇ
いろいろな関数知ってるんだね
0050nobodyさん2008/07/20(日) 13:48:19ID:???
あ、間違えた
上の>>47は、>>48
0051nobodyさん2008/07/20(日) 13:49:49ID:???
回答もらったらいきなり偉そうな態度に豹変ワロタ
0052nobodyさん2008/07/20(日) 14:43:07ID:???
感動してテンションあがっちゃいました。
0053nobodyさん2008/07/20(日) 14:55:52ID:???
感動はするけど感謝はしないか。
もう二度と来ないでね。
0054nobodyさん2008/07/20(日) 14:58:14ID:???
ID出してないやつに答えるのが悪い
0055nobodyさん2008/07/20(日) 15:06:18ID:???
そう、答えるやつが悪い
0056nobodyさん2008/07/20(日) 15:18:13ID:???
まんこ
0057nobodyさん2008/07/20(日) 15:19:20ID:???
夏だな。
0058nobodyさん2008/07/20(日) 15:22:07ID:???
>>57
IDだせ。
0059nobodyさん2008/07/20(日) 16:28:33ID:FzqmKs0c
>>56
ageてくれ
0060nobodyさん2008/07/20(日) 17:29:05ID:p4V1WPS4
ダイアログ一発で複数ファイルを選択してアップロードするのってマトモなのだとやっぱSWFUploadしかないのかなぁ。
これ時々動かない時があってダルい。
0061nobodyさん2008/07/20(日) 17:31:13ID:???
phpでおk
0062nobodyさん2008/07/20(日) 18:20:22ID:AgdzipKA
環境面でPHPを高速に動かすチューニングについてお手本はありますか?
0063nobodyさん2008/07/20(日) 18:22:39ID:???
>>61
どうやって?
0064nobodyさん2008/07/20(日) 20:47:20ID:???
PEARのMDB2のプリペアドステートメントで格納されたテキスト(例)を、
stripslashes関数で取り出す、ってのは作法的にどうなんでしょうか?
もっと正当なやり方とかあるんでしょうか

例)
<img src=\"images/example.jpg\" />
0065nobodyさん2008/07/20(日) 20:51:48ID:???
何を言ってるのかわからん
0066nobodyさん2008/07/20(日) 20:54:25ID:???
勉強してきます
0067nobodyさん2008/07/21(月) 06:04:10ID:???
俺の彼女がphpやっているって言ったら、
いやらしい想像をしたらしく、
プチ喧嘩になってしまった。
笑ってやってください。
0068nobodyさん2008/07/21(月) 06:15:44ID:???
>>67
氏ね
0069nobodyさん2008/07/21(月) 06:45:40ID:???
今一番あついフリーのブログってどこ?なんか新しい事できたりして
0070nobodyさん2008/07/21(月) 09:58:53ID:???
>>69
アメブロ
芸能人と直接チャットができる。
0071nobodyさん2008/07/21(月) 10:09:33ID:???
>>70
アメーバ躍進の理由はそれか( ̄ω ̄)
センキュ
0072nobodyさん2008/07/21(月) 15:16:14ID:???
全く関係ねえ話するな社員の宣伝乙
0073nobodyさん2008/07/21(月) 15:27:39ID:???
Livedoorブログの社員必死www
0074nobodyさん2008/07/21(月) 22:38:27ID:L5j6+omj
アップローダを作っているのですが、アップロード時にDLパスワードを設定して
そのパスワードを入力しないとDLできないようにしたいのですが仕組みがわかりません
アップロードされたファイルに直接アクセスされてもDLパスワードを要求できればいいんでしょうけど・・・
うpろだ.org(ttp://www.uploda.org/)さんところみたいなのが目標です
アドバイスよろしくおねがいします
0075nobodyさん2008/07/21(月) 22:48:46ID:???
保存先をそもそもアクセス不可能にしたり、ファイルをパスワードでスクランブルするとか
0076nobodyさん2008/07/21(月) 22:50:30ID:???
というかファイルの拡張子を実行形式のものに変えれば十分だな
0077nobodyさん2008/07/21(月) 23:00:17ID:???
いやドキュメントルート外に置きゃ済む話だろ・・・
むしろ公開したくないものを公開場所に置くのがおかしい
0078nobodyさん2008/07/21(月) 23:23:36ID:9kbQKGjb
readfileってファイルロックしてしまうんでしょうか?
携帯で動画を出力する時につかってるんですが、同時アクセスがあると
先に読み込みを始めた方しかDL出来ません。

他にはfilesizeも後の方は失敗します。
回避する方法って何かないでしょうか。
0079nobodyさん2008/07/22(火) 06:56:23ID:???
$aaa = array(1,2,3);
test();

function test() {
print_r($aaa);
}

こうしても何も出力されないんですが、もしかしてfunction内にはデータが持ち込まれてないんでしょうか?
0080nobodyさん2008/07/22(火) 07:15:44ID:???
うん
function test() {
global $aaa;
print_r($aaa);
}
にしてみ
0081たまき2008/07/22(火) 08:21:44ID:XjAln+x8
サイトのトップに
『現在今★人閲覧しています。機種はDoCoMo<BR>AUです』
みたいなのを表示させたいのですが、どうしたらよいのでしょうか…

0082nobodyさん2008/07/22(火) 09:10:24ID:aQ5G/uBX
そんな関数あったっけ?

0083nobodyさん2008/07/22(火) 09:32:44ID:???
ユーザエージェント取得
0084nobodyさん2008/07/22(火) 09:50:19ID:???
>>81
えちょ
0085nobodyさん2008/07/22(火) 10:49:54ID:rL1pjvb8
sendmailに対してメールを送信し、
その内容をaliasesでPHPに飛ばして処理させるスクリプト作成していますが

〜〜メールの内容〜〜

From *****@****.ne.jp Tue Jul 22 10:07:12 2008
(中略)
Date: Tue, 22 Jul 2008 10:07:11 +0900
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="-----=_NextPart_30836_34884_38932"


-------=_NextPart_30836_34884_38932
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit

内容内容テストテストテストテストテスト

-------=_NextPart_30836_34884_38932
Content-Type: image/jpeg; name="080711_1916~0001.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="080711_1916~0001.jpg"

/9j/4QHsRXhpZgAATU0AKgAAAAgACgEOAAIAAAARAAAAh(略)
〜〜〜〜〜〜〜〜〜

PHPで今受け取れているのが上記の様なテキストです。
正規表現でFromやTo、Subjectなどは取り出せましたが
本文と添付ファイルを取得する最適な方法は何でしょうか?
0086nobodyさん2008/07/22(火) 11:03:39ID:???
PEARやフレームワークのライブラリを使う
0087nobodyさん2008/07/22(火) 11:10:12ID:???
>>86
やはりPEARですか
どのPEARが一番軽くて良いでしょう?
Mail_mimeDecode というのを見つけましたが
0088nobodyさん2008/07/22(火) 12:46:42ID:???
>>85
これは?
QdmailReceiverとは - QdmailReceiver Multibyte mail decoder & POP Client
http://hal456.net/qdmail_rec/
0089nobodyさん2008/07/22(火) 12:57:23ID:???
ライブラリってのは一長一短。
「一番」とか「最適」なんてのは、適材適所で使う単語。
0090nobodyさん2008/07/22(火) 13:33:52ID:???
>>89
だから>87は>85の用途での「一番」を聞いてるんだと思うけど。
あなたの言いたいこともわかるけど、今回で言えばその指摘は的外れじゃねーか?
0091nobodyさん2008/07/22(火) 13:44:58ID:kxanaLkk
$xxx =& DUMMY::factory();
$yyy =& $AAA->test();

この「=&」ってどういう意味ですか?
0092nobodyさん2008/07/22(火) 14:01:46ID:???
>>91
1スレに1回は見かける質問ですな
http://jp.php.net/manual/ja/language.references.php
http://jp.php.net/manual/ja/language.references.return.php
0093nobodyさん2008/07/22(火) 14:06:52ID:???
簡易FAQの4に追加したほうがいいんじゃないかと思うわ
0094nobodyさん2008/07/22(火) 14:11:28ID:kxanaLkk
>>92 >>93
ありがとうございます。

以後気をつけます。
0095852008/07/22(火) 14:35:28ID:???
>>88
ありがとうございます。良さげです
0096nobodyさん2008/07/22(火) 16:13:30ID:tlpgR1UJ
現在開いているページのタイトル(<title></title>の間)を取得するには、
一旦fopenでページを読み込んで正規表現で抜き取るか、
Javascriptのdocument.title以外に方法はありますか?
出来ればPHPのみで出来ればと思います。
0097nobodyさん2008/07/22(火) 16:28:52ID:???
>>96
「現在開いているページ」?
それって今処理中のぺーじだろ?
0098nobodyさん2008/07/22(火) 16:29:29ID:aQ5G/uBX
できないんじゃないかな?
Javascriptでやったほうがよいと思われ
0099nobodyさん2008/07/22(火) 16:38:11ID:???
>>81
そんなの表示しなくていいです
0100nobodyさん2008/07/22(火) 23:08:25ID:???
あなたもアダルト動画サイトを運営しませんか?

動画検索ロボットが毎日動画を自動収集!!

アクセスアップ間違いなし。

もちろん海外のサーバーなので違法性も一切ありません。

完全無料!!いくらでも動画サイトを作成できます。
0101nobodyさん2008/07/22(火) 23:09:01ID:???
あなたもアダルト動画サイトを運営しませんか?

動画検索ロボットが毎日動画を自動収集!!

アクセスアップ間違いなし。

もちろん海外のサーバーなので違法性も一切ありません。

完全無料!!いくらでも動画サイトを作成できます。

http://sxv.xgun.tv

▼mixiのトピックです。
http://mixi.jp/view_bbs.pl?id=33336111&comment_count=0&comm_id=326589

▼自分のmixiです。
http://mixi.jp/show_friend.pl?id=15652823
0102nobodyさん2008/07/23(水) 00:49:25ID:???
PHP全く知らないんだけど、

<?php
include './hoge.html';
?>

ってのをHTMLに組み込んだとき
hoge.htmlよりも下層のファイルからhoge.htmlに記述してるリンクを
うまく読み込めなくて困ってる

ttp://renlit.sakura.ne.jp/dunamis/

で、左側のメニューがindex以外でうまく動いてくれない
助けてエロイ人
01031022008/07/23(水) 00:50:46ID:4OGKT8Zy
ごめん、ageてなかった
0104nobodyさん2008/07/23(水) 01:07:51ID:???
/dunamis/top.phpでおk
01051022008/07/23(水) 01:21:02ID:4OGKT8Zy
>>104
ダメみたい。
で、index.phpと、dungeon/top.phpに埋め込みの所、コメント入れてみた

読み込む方のHTMLファイル晒したほうがいいの?
0106nobodyさん2008/07/23(水) 01:22:38ID:???
/dunamis/dungeon/top.php
01071022008/07/23(水) 01:25:33ID:4OGKT8Zy
情報小出しになっててごめんなさい
dungeon/top.php
から、ダンジョン情報(同じページ)クリックしてもうまく動かないって意味
0108nobodyさん2008/07/23(水) 01:45:41ID:???
だからメニューのリンクを>>106にしとけばいいじゃん
01091022008/07/23(水) 01:52:35ID:4OGKT8Zy
できた
ここ数日悩んでたんだ〜

回答くれたエロイ人(達?)
本当にありがとうございました
0110nobodyさん2008/07/23(水) 05:31:32ID:???
これPHP関係あんの?
0111nobodyさん2008/07/23(水) 09:49:41ID:9g9C5JRB
PEAR::Pagerで、A.phpに使ってからB.phpに使うと、
B.phpでのページ移動時に、A.phpのページが表示されてしまいます。

インスタンスを別に生成しても同様の症状が出ます。

Pagerのセッションは、エラーが返ってきてしまい使えません。
何とか対応策は無いでしょうか?
0112nobodyさん2008/07/23(水) 09:53:04ID:???
内容がよく分からんけどPagerに読み込んだ配列はA.phpの最後で破棄してる?
01131112008/07/23(水) 10:05:57ID:???
>>112
pagerに読み込んでいる配列は、A.php、B.php共に同じものです。
よって廃棄(初期化?)はしていません。

どういう仕組みになっているのか、
Pagerのソースを読んでも理解できないのですが、
B.phpでのページ移動時に、A.phpそのものが表示されるのです。



A.php
こんにちは
<<PREV 1 2 3 4 5 NEXT>>

B.php
こんばんは
<<PREV 1 2 3 4 5 NEXT>>

B.phpの2ページ目以降をクリックすると、「こんにちは」のページが出てしまうのです。
0114nobodyさん2008/07/23(水) 11:46:45ID:???
>>113
配列全部出力して確認してみたら?
0115nobodyさん2008/07/23(水) 11:49:37ID:???
>>113
何をしたいスクリプトなのか目的がさっぱり分からないが
GETで値渡してないとかキャッシュとか
0116nobodyさん2008/07/23(水) 12:09:32ID:???
>>110
あるよ。
以上。
はい、次。
0117nobodyさん2008/07/23(水) 12:41:34ID:???
>>110
ないよ。
以上。
はい、次。
0118nobodyさん2008/07/23(水) 13:49:58ID:???
>>110
どちらとも言えないよ。
以上。
はい、次。
0119nobodyさん2008/07/23(水) 14:45:16ID:???
何この流れw
0120nobodyさん2008/07/23(水) 15:07:05ID:???
>>110
の人気に嫉妬だよ。
以上。
はい、次。
0121はいぽん2008/07/23(水) 15:58:42ID:kDNByBKw
携帯の個体識別番号を抜き出すスクリプトを考えました。
DoCoMo/2.0 SH903i(c100;TB;W24H12;ser000000000000000;icc000000000000000000000F)
これは考えられました。
$ua = 'DoCoMo/2.0 SH903i(c100;TB;W24H12;ser000000000000000;icc000000000000000000000F)
';
if(preg_match("/^DoCoMo\/2\.0\s([0-9a-zA-Z]+)/",$ua,$match)){
$kisyu = $match[1]
}
echo "携帯の機種".$kisyu;

とすれば、SH903iと出力されよかったのですが、

serの部分を抽出しようと考えましたが、わかりません、教えてください

この状態で、
0122はいぽん2008/07/23(水) 15:59:50ID:kDNByBKw
どのようにすればよいか教えてください。
2レスになってしまってすいません、
0123nobodyさん2008/07/23(水) 16:13:38ID:???
まずserの条件を日本語で書いてみる
0124はいぽん2008/07/23(水) 16:18:24ID:kDNByBKw
条件と言うより、
'DoCoMo/2.0 SH903i(c100;TB;W24H12;ser000000000000000;icc000000000000000000000F)

これから
ser000000000000000
を抽出したいのです。
0125nobodyさん2008/07/23(水) 16:29:16ID:???
わからん、、、、
serで始まって数字がn桁あって、セミコロンで区切られてるとこまで?
0126はいぽん2008/07/23(水) 16:33:24ID:kDNByBKw
取得したいのは
serでは始まって、セミコロンで終わるまでの文字列です。今回ならば

ser000000000000000
■ このスレッドは過去ログ倉庫に格納されています