【PHP】下らねぇ質問はここに書き込みやがれ 22
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2006/06/08(木) 05:09:28ID:5gGJKVO4ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
過去スレは>>2
0866nobodyさん
2006/06/22(木) 09:40:11ID:XjfBJY0m0867nobodyさん
2006/06/22(木) 09:47:23ID:???image_combin($image[0], $image[1], IMG_LANDSCAPE | IMG_PORTRATE);
0868nobodyさん
2006/06/22(木) 10:28:45ID:XjfBJY0mすみません、ググってもなかったのですが、何か参照サイトとかありませんかね
0869nobodyさん
2006/06/22(木) 10:56:01ID:???PEARでの参考例
http://www.google.com/search?q=ThinkPlus+USB+Keyboard
PEARを使わずに扱いたいです。よろしくお願いします
0873nobodyさん
2006/06/22(木) 11:15:22ID:???扱うってただの文字列だろ?それを一体どうしたいんだ?
グーグル検索のURL貼ってるが、それも意味わからんし。
まさか、検索の一覧から意図を読み取れ、とか言うんじゃねーだろーな?
ま、単純に整数値に変換してシフトでもすれば?
0874nobodyさん
2006/06/22(木) 11:15:58ID:???PEARでの参考例
http://ns1.php.gr.jp/pipermail/php-users/2005-March/025478.html
0877nobodyさん
2006/06/22(木) 12:30:24ID:???こんなのが欲しかったわけか?
function ipInNetwork($target_ip, $netmask) {
$target_ip = ip2long($target_ip);
list($network_ip, $network_bits) = explode('/', $netmask);
$network_ip = ip2long($network_ip);
$host_mask = bindec(str_repeat('1', 32 - $network_bits));
return ($target_ip ^ ($network_ip | $host_mask)) <= $host_mask;
}
CIDR表記とか知ってるなら、これくらいさくっと作ろうぜ・・・
0878nobodyさん
2006/06/22(木) 12:58:19ID:???METAでもEUCを指定しています
この場合、文字化けする原因て何が考えられますか?
0879nobodyさん
2006/06/22(木) 13:23:29ID:???0880nobodyさん
2006/06/22(木) 13:46:29ID:???0881nobodyさん
2006/06/22(木) 13:47:41ID:???0882nobodyさん
2006/06/22(木) 13:59:04ID:???0884nobodyさん
2006/06/22(木) 14:54:01ID:oCUi25wnfunction test()
っていうユーザー関数をkansuu.phpってファイルに書いてるとして
index.phpでtest()関数をコールするにはどうしたら良いですか?
0885nobodyさん
2006/06/22(木) 14:57:12ID:???require('./kansuu.php');
もしくは
require_once('./kansuu.php');
で
test();
http://jp.php.net/manual/ja/function.require.php
include()でも良し。
0886nobodyさん
2006/06/22(木) 15:17:01ID:oCUi25wnありがとうございます。include()を呼び出すとfatalエラーが出ます。
include 'index.php';と記述しています。
index.phpのなかにもtest()があってkansuu.phpにもtest()と言う関数が記述されています。
その内容は全く違うのですが。kansuu.phpの中でindex.phpのtest()を呼び出すことはできますか?
面倒な質問してすみません。
0887nobodyさん
2006/06/22(木) 15:19:10ID:???0888nobodyさん
2006/06/22(木) 15:20:05ID:???0889nobodyさん
2006/06/22(木) 15:22:05ID:???index.phpの内容
<?php
function test() { }
?>
kansuu.phpの内容
<?php
function test(){ }
?>
0890nobodyさん
2006/06/22(木) 15:46:13ID:???ShiftJISとかいろいろとメタタグで宣言してみれ。それで文字化けがないならApacheの設定とPHPの設定の問題。
0891nobodyさん
2006/06/22(木) 15:47:36ID:oCUi25wn<?php
function test() {中略}
?>
kansuu.phpの内容
<?php
include 'index.php';
function test(){中略}
$s=test(); //kansuu.php内の方
$p=test(); //index.php内の方
echo "<html><BODY>$s,$p</BODY></html>"
?>
見たいな感じ。
0892nobodyさん
2006/06/22(木) 15:48:49ID:???0894nobodyさん
2006/06/22(木) 15:58:11ID:oCUi25wnたまたま、index.phpに書いてるコードがそのまま使えそうだったので楽しよとしただけです。
関数名変えます。
0895nobodyさん
2006/06/22(木) 15:58:24ID:???そこを敢えて同じ名前で区別する方法は無いかというのが質問の趣旨だよな。
OK、俺には分からんッ!
0896884
2006/06/22(木) 16:00:16ID:oCUi25wn0897884
2006/06/22(木) 16:02:03ID:oCUi25wn一応検索しても出てこないので。スレ違いな質問ですみません。
0898nobodyさん
2006/06/22(木) 16:06:09ID:???聞いている意味がよく分からんが、このスレは普通に携帯からでも読めるぞ。
p2使えばスレ内検索とかもできる。
0899nobodyさん
2006/06/22(木) 16:17:17ID:???携帯サイトに特化したPHPスレってことかな?
そんなスレは無いだろうね。目的と手段の違いだから。
携帯サイトだったら
携帯端末用のWeb制作10
http://pc8.2ch.net/test/read.cgi/hp/1150381091/
とか、
【モバイル】携帯電話向け開発について語るスレ
http://pc8.2ch.net/test/read.cgi/php/1144504375/
あたりへ行ってごらん。
0900nobodyさん
2006/06/22(木) 16:17:57ID:z1rfr09/$fp = fopen($logfilename, "w");
こういうソースがあるとして1.htmが上層フォルダの場合どうしたら良い?
$logfilename=../1.htmにしたらダメだった。相対パスで指定したいんだけど。
お願いします。
0901nobodyさん
2006/06/22(木) 16:20:16ID:???0902nobodyさん
2006/06/22(木) 16:20:47ID:???じゃ駄目なのかなぁ。
0903nobodyさん
2006/06/22(木) 16:20:54ID:???0904nobodyさん
2006/06/22(木) 16:25:10ID:z1rfr09/$logfile="../".PHP_NAME;
で解決しました。
0905878
2006/06/22(木) 16:27:31ID:???偽
全ファイル、エディッターでEUCに統一
METAも全ページ(HTMLページ)
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
で統一しているんですがなぜかバグります
0906nobodyさん
2006/06/22(木) 16:30:42ID:???0908nobodyさん
2006/06/22(木) 16:35:19ID:???内部エンコードがEUC、outputがsjisになっている可能性が高い。
metaを書くなら sjisにするか、
どうしてもEUCでブラウザに表示させたいなら、
スクリプト先頭あたりで
mb_http_output('EUC');
ob_start('mb_output_handler');
0909nobodyさん
2006/06/22(木) 17:16:10ID:4vrB1Nlw少し教えてくださいませんか。
<?php
$file = "test_data.cgi";
$data = "110220327";
// 今までのデータがあるファイルを呼び出す
$file = "test_data.cgi";
$files = file($file);
$count = count($files);
// 既にあるファイルを $old_files に格納
for($i = 0; $i <= $count; $i++){
$old_files .= $files[$i];
}
// 現在のデータを足す
$old_files .= $add_data."\n";
// そのままでソート
$filename = "$file";
$somecontent = $old_files;
$old_files = preg_split("/\n/",$old_files);
ksort($old_files, SORT_NUMERIC);
for($i = 0; $i <= $count; $i++){
print "old_files[$i] = <!---->$old_files[$i]<!----><br><br>";
}
?>
0910909
2006/06/22(木) 17:19:14ID:4vrB1Nlw110220330,aaa,adoifja,
110220333,adf,agtargg,
110220335,hwr,adfgads,
110220313,gar,argvtta,
110220342,arg,drfgsrg,
110220329,jtr,fjhtsfg,
110220343,tfe,gthrlff,
0911nobodyさん
2006/06/22(木) 17:35:22ID:???ナニがしたいのかわからん
それとforループの回数が1回多い
$old_files .= $files[$i];は文字連結だがソートしたいなら$old_files[$i] = $files[$i];じゃないのか?
0912nobodyさん
2006/06/22(木) 17:45:56ID:z1rfr09/index.php
<?
printf "テスト";
更新.php //index.phpないでこのPHPファイルを実行させるみたいなの
?>
読込みではなくて実行ってのが可能なのかどうか?
わかりにくい説明ですみません。
0913nobodyさん
2006/06/22(木) 17:51:34ID:???0915nobodyさん
2006/06/22(木) 18:06:38ID:z1rfr09/それをincludeしたりするのって実行スピードに置いてはどうなの?
0916nobodyさん
2006/06/22(木) 18:07:41ID:???a.phpからb.phpを実行する例。
遠慮無く1000回ほど試すといいぞ。
a.php:
<?php
require('b.php');
?>
b.php:
<?php
for ($i=1;$i<1000;$i++) {
print "このヴォケが";
}
?>
求めているのがこれでないとしたらget付きURLにLocationで飛ばす、かな。
0917nobodyさん
2006/06/22(木) 18:09:56ID:???何と比較して聞いているのかが理解不能だが、
用のないユーザ関数を大量に読み込ませたりすれば
そりゃ実行スピードは落ちるだろうね。
0918nobodyさん
2006/06/22(木) 18:19:43ID:ylHLo5v5この書き方ってできなかったっけ?
0919nobodyさん
2006/06/22(木) 18:24:11ID:???つ【http://jp2.php.net/manual/ja/function.strstr.php】
0920nobodyさん
2006/06/22(木) 18:30:59ID:???0923nobodyさん
2006/06/22(木) 18:36:09ID:z1rfr09/よく使いそうな関数をファイルにまとめるとして、
よく使うが使わない関数も当然読み込まれてしまうと思う。
それで実行速度が遅くなるならそのファイルから使う関数だけを読み込んだりしたい。
そんなやり方ありますか?
0925nobodyさん
2006/06/22(木) 18:46:24ID:???無料になった Zend Optimizer 3 を入れたら?
0926nobodyさん
2006/06/22(木) 18:52:29ID:???なぜかわからないのですがDB(ファイル)が存在しませんといわれてしまいます
実行している手順は
/home/hotta/に移動し sqlite testでtestというDBを作成し
テーブルを作成し、データを入れ
ls -l /home/hotta/test でファイルの存在を確認した後
<?php
define('DB', '/home/hotta/test');
if (!file_exists(DB)) {
die(DB ." が見つかりません \n");
}
?>
を実行してみると
必ず/home/hotta/testが見つかりませんといわれてしまいます
ファイルはあるはずなのですが(パーミッションかと思い777にしてみたのですがだめでした)
なぜかわかる方おられましたら教えていただけないでしょうか?
0927nobodyさん
2006/06/22(木) 19:20:54ID:???それとdefineせずにやってみたらどうなる?
というかSQLiteはわからん
0928nobodyさん
2006/06/22(木) 19:41:42ID:???-> この矢印みたいなヤツ意味がわからないです
ググルにも -> はキーワードにならないし
0929nobodyさん
2006/06/22(木) 20:01:18ID:???http://jp.php.net/manual/ja/language.oop.php
0930nobodyさん
2006/06/22(木) 20:11:03ID:???0931nobodyさん
2006/06/22(木) 20:29:10ID:???echo '<iframe src="kousin.php" height=0 width=0></iframe>';
こういうことか?
0932nobodyさん
2006/06/22(木) 20:31:43ID:???ありがとう! もやもやが吹っ切れた
0933nobodyさん
2006/06/22(木) 21:18:13ID:???ありがとうとございます ディレクトリのパーミッションが問題だったようです
/home オーナーroot 700→777
/hotta オーナーhotta 700→777
に変更したら
home/hotta/testが見つかりません といわれなくなりました
file_exists(DB)関数でファイルを読み出すときはapacheのユーザで検索してるのでしょうか?
0934nobodyさん
2006/06/22(木) 21:20:26ID:???違う。
httpdデーモンがPHPのスクリプトを読み込んで実行しているから
apacheユーザーになっているからであって、
file_exists() だけがapacheユーザーで動くわけではない
0935nobodyさん
2006/06/22(木) 21:22:25ID:???正常に動いてるんですが、時々長さが一致せずエラーになります。
サーバの負荷?mbstringのバグ?と悩んでいます。
$data = stripslashes($keyword);
if (strlen($data) != mb_strlen($data) * 2) {
die("引数エラー!".strlen($data).":".mb_strlen($data) * 2);
}
0936nobodyさん
2006/06/22(木) 21:23:37ID:???有難うございます
ということは
何かを参照する関数とかは
すべてhttpd.confに記載されているUser欄のユーザーによって実行されるので
パーミッションはUserにあわせる必要があるということですね
0937934
2006/06/22(木) 21:48:19ID:???0939909
2006/06/23(金) 00:40:32ID:lPdqGX0Z各行の[0](先頭行)は、mktime関数によって取得したタイムスタンプとして
この先頭行をソートして時間が現在に近い順(数字が小さい順?)→つまり昇順に並べ替えたいのです
よろしくお願いします。
>>911
下の方のforループが余計なのでしょうか?
私にはなぜ余計なのかがよく分かりません 簡単でいいので教えていただけませんか?
>>922
どの関数に直せばよろしかったでしょうか?
natsort関数でしょうか?
それともsoat関数でしょうか?
soat関数で試したところ
old_files[0] =
old_files[1] =
old_files[2] = 110220313,gar,argvtta,
old_files[3] = 110220329,jtr,fjhtsfg,
old_files[4] = 110220330,aaa,adoifja,
old_files[5] = 110220333,adf,agtargg,
old_files[6] = 110220335,hwr,adfgads,
old_files[7] = 110220342,arg,drfgsrg,
となり、一部が消えてしまいます。
これは、何故なのでしょうか?
0940909
2006/06/23(金) 00:43:09ID:lPdqGX0Zold_files[0] = 110220330,aaa,adoifja,
old_files[1] = 110220333,adf,agtargg,
old_files[2] = 110220335,hwr,adfgads,
old_files[3] = 110220313,gar,argvtta,
old_files[4] = 110220342,arg,drfgsrg,
old_files[5] = 110220329,jtr,fjhtsfg,
old_files[6] = 110220343,tfe,gthrlff,
old_files[7] =
消える理由が分かりません。
少し手を貸していただけたら幸いです。
よろしくお願いします。
0941nobodyさん
2006/06/23(金) 00:47:17ID:???0942nobodyさん
2006/06/23(金) 00:59:03ID:???バグとか以前に作り方が意味不明すぎるんだけど、
なんでわざわざ配列を1行に連結した挙句にまた配列に分解してるの?
で、消える理由だけど、データに空行が入ってて空っぽのデータがあるだけ。
それがソートされた際に先頭に出てきたり末尾に出てきたりする。
また、実際にデータが消えているわけじゃなく、本当は8件でなく9件あるのに
頭8件しか表示してないせいで後ろがちょんぎれてるだけ。
最後の表示部分は
for($i = 0; $i <= $count; $i++){
print "old_files[$i] = <!---->$old_files[$i]<!----><br><br>";
}
となってて$countの数だけ表示してるけど、この$countって
$files = file($file);
$count = count($files);
この段階で取得しちゃってて、その後ろの
// 現在のデータを足す
$old_files .= $add_data."\n";
ってのを含んでいないから。
0943nobodyさん
2006/06/23(金) 01:01:04ID:???頼むから俺の職場には来ないでね^^
0945909
2006/06/23(金) 01:21:39ID:lPdqGX0Z>なんでわざわざ配列を1行に連結した挙句にまた配列に分解してるの?
こんなことしなくても、ソート処理ができるんですか!
そこを教えてもらえませんかぁ>_<
0946nobodyさん
2006/06/23(金) 01:32:32ID:???0947909
2006/06/23(金) 01:38:45ID:lPdqGX0Z見て欲しいです。一応正しく表示が出来てるようです!
<?php
$file = "test_data.cgi";
$add_data = "110220327,sdt,adafgafg,";
// 今までのデータがあるファイルを呼び出す
$file = "test_data.cgi";
$files = file($file);
$count = count($files);
// 既にあるファイルを $old_files に格納
print "<h2>ソート前のファイルデータ</h2><hr>";
for($i = 0; $i < $count; $i++){
$old_files[$i] .= $files[$i];
print "old_files[$i] = $old_files[$i]<hr>";
}
/*-----------------------------------------------------*/
// 中間線
print "<br><hr>中間線<hr><br>";
/*-----------------------------------------------------*/
0948nobodyさん
2006/06/23(金) 01:39:19ID:???まぁそういうなって
>>945
for($i = 0; $i <= $count; $i++){
これでforが何回まわる?最初がゼロからってのが味噌
$count=1の場合、0,1が実行される。多くないか?
正解はどこかに書いてあった気がするけどfor($i = 0; $i <$count; $i++){
参考にしてみ。タイムスタンプの桁数に注意
<?php
$file = "test.cgi";
$data = "110220327";
$files = file($file);
$files[] = $data."\n";
sort($files);
foreach ($files as $i => $v) print "files[".$i."] = ".$v;
?>
結果
files[0] = 110220313,gar,argvtta,
files[1] = 110220327
files[2] = 110220329,jtr,fjhtsfg,
files[3] = 110220330,aaa,adoifja,
files[4] = 110220333,adf,agtargg,
files[5] = 110220335,hwr,adfgads,
files[6] = 110220342,arg,drfgsrg,
files[7] = 110220343,tfe,gthrlff,
0949909
2006/06/23(金) 01:40:44ID:lPdqGX0Z// 現在のデータを足す
$old_files[$i+1] = $add_data."\n";
// そのままでソート
$filename = "$file";
$somecontent = $old_files;
print "<h2>ソート後のファイルデータ</h2><hr>";
//$old_files = preg_split("/\n/", $old_files);
array_multisort($old_files, SORT_ASC);
for($i = 0; $i <= $count; $i++){
print "old_files[$i] = $old_files[$i]<hr>";
}
?>
0950909
2006/06/23(金) 01:48:50ID:lPdqGX0Zす、すごい
勉強になりました。
すごく簡潔に書かれていて、それでいてちょっと$vが可愛いですね//▽//
ありがとうございます!
0951nobodyさん
2006/06/23(金) 01:49:26ID:???0952nobodyさん
2006/06/23(金) 01:50:41ID:???0953nobodyさん
2006/06/23(金) 01:51:26ID:???0954909
2006/06/23(金) 01:56:14ID:lPdqGX0Z新しいスレを立てようと思うのですが
私でも立てられるんですか?
ちょっといって見て来ます。
0956nobodyさん
2006/06/23(金) 01:59:30ID:???事情を分かってるやつがやった方がいくね?
0957909
2006/06/23(金) 02:00:26ID:lPdqGX0Z定型文?を書くのでもう少しお待ち下さい。
0958909
2006/06/23(金) 02:02:00ID:lPdqGX0Zえ;
もう作っちゃいました。
けど、>>2以降はまだ書いてません。
事情の分かる方にパスした方が良いですか?
0959nobodyさん
2006/06/23(金) 02:03:03ID:8iUOatGT0960909
2006/06/23(金) 02:04:25ID:lPdqGX0Zhttp://pc8.2ch.net/test/read.cgi/php/1150995543/
0961909
2006/06/23(金) 02:05:27ID:lPdqGX0Zタイムスタンプじゃないですか?
0962nobodyさん
2006/06/23(金) 02:19:04ID:???なんで実行結果がおかしいんだろ〜。
エラーも起きないし。一体全体どうして〜〜〜〜〜〜〜ってとき
if文で$a=1 とかなってんの!!!wwww
比較は$a==1だっつうの!!=2つは他の言語やりまくってると
たまーにやるよね、うん。
0963nobodyさん
2006/06/23(金) 02:21:16ID:???>よく見たら、スレのアドレスの一番最後の部分って
>タイムスタンプじゃないですか?
そうですね〜(^-^)
0964909
2006/06/23(金) 02:36:35ID:lPdqGX0Z本 ス レ は も う 無 く な り ま し た
って書き込まれてましたT_T
0965909
2006/06/23(金) 02:43:16ID:lPdqGX0Zデータを上書きするときって、どこでfopenするべきですか?
foreachの前でfopenとflockをして、{}の中にあるprintの部分を書き込みに変えるような方法ですか?
レス数が950を超えています。1000を超えると書き込みができなくなります。