【PHP】質問スレッドpart16【php】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
04/04/07 01:06ID:HTcWOpWf上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。
■本家
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-5
0867nobodyさん
04/05/14 13:43ID:???これをループで回せ。
$arr=explode(':',$buff[$cnt],2);
${$arr[0]}[]=$arr[1];
しかし....
0868nobodyさん
04/05/14 13:52ID:???0869nobodyさん
04/05/14 13:54ID:???while(($s = fgets($fp, 1024)) != NULL) {
list($var_name, $value) = explode(':', $s, 2);
${$var_name}[] = trim($value);
}
まぁ、あれだ。もとデータに他で使ってる変数名と
同じものが紛れた時に正しく動作せん罠
$input_data[$var_name][]
に放り込んだ方がええよ。
0870nobodyさん
04/05/14 14:09ID:???可変変数を使うときは、ほとんどの場合それ以前に問題があると思ったりするのだが。
0871nobodyさん
04/05/14 14:15ID:vu0WINSDありがとうございます!
これで、お気に入りなアニメのデータベース的なことができそうです
0872nobodyさん
04/05/14 14:18ID:???どうやって調べるんだ?
0873869
04/05/14 14:28ID:???そういう問題もあるから、
>$input_data[$var_name][]
>に放り込んだ方がええよ。
ってしたんだが。
これだと、array_keys($input_data)で
判るし、stdObjectに放り込んだとしても、
get_object_vars()で拾えるし。
0874nobodyさん
04/05/14 15:50ID:Ncoppi/iそこでphpinfo()のconfigure commandの文字列にmb_系関数をenableにして
configure実行したのですが、とおらないんです。
configure: error: Please reinstall the BZip2 distribution
といわれてしまいます。
phpinfo()のconfigure commandはインストールする際に
指定したコマンドですよね。それでインストールされてるのに
なぜ今インストールができないのか、、、不思議でなりません。
どなたかヒントをください。
0875856
04/05/14 15:59ID:vu0WINSDエラーメッセージを見ると、BZip2 が無いので入れてけろと言ってるみたいですが・・
どのディストリュビューションか分からないから
sources.redhat.com/bzip2/
ここでソース拾ってきてインスコすれば、configure通るんじゃないでしょうか?
連想配列順調です♪
0876nobodyさん
04/05/14 16:13ID:???ピュアは?
0877nobodyさん
04/05/14 16:16ID:???<html><head><title>test</title></head>
<form enctype="multipart/form-data" method="post">
upload?: <input name="userfile" type="file"><input type="submit" value="submit">
</form>
<?php
if (!empty($_FILES)) {
move_uploaded_file($_FILES['userfile']['name'],'/home/hoge/public_html/upload');
}
var_dump($_FILES);
?>
</doby></html>
php.iniのResource Limits部分は
max_execution_time = 30
memory_limit = 40M
File Uploads部分は
file_uploads = On
upload_tmp_dir =/tmp
upload_max_filesize = 10M
postmax部分は
post_max_size = 10M
となってるのに、sumbitを押すとupload.phpの読み込みに失敗しましたと出ます。1M位のデータならPOSTで送れるんだけど、それ以上だとブラウザでエラーになります。
なんでですかー?
0878nobodyさん
04/05/14 16:19ID:???<html><head><title>test</title></head>
<form enctype="multipart/form-data" method="post">
upload?: <input name="userfile" type="file"><input type="submit" value="submit">
</form>
<?php
if (!empty($_FILES)) {
move_uploaded_file($_FILES['userfile']['name'],'/home/hoge/public_html/upload');
}
var_dump($_FILES);
?>
</doby></html>
php.iniのResource Limits部分は
max_execution_time = 30
memory_limit = 40M
File Uploads部分は
file_uploads = On
upload_tmp_dir =/tmp
upload_max_filesize = 10M
postmax部分は
post_max_size = 10M
となってるのに、sumbitを押すとupload.phpの読み込みに失敗しましたと出ます。1M位のデータならPOSTで送れるんだけど、それ以上だとブラウザでエラーになります。
なんでですかー?
0879nobodyさん
04/05/14 16:29ID:???Apacheのエラーログでは
[Fri May 14 16:19:33 2004] [error] [client 192.168.1.10] Requested content-length of 711143 is larger than the configured limit of 524288,
referer: http://192.168.1.1/upload/upload.php
と出てる.... おぃ、ファイル制限が524KBってどーゆーことだー!
0880nobodyさん
04/05/14 16:34ID:???0882nobodyさん
04/05/14 16:38ID:???まず、phpinfo()のconfigure情報はそのphpが構築(コンパイルやらリンクやら)された時の情報。
つまり、今動かしているマシンとは全然関係がない。
phpをソースからインストールしようとするとconfigure時に必要なライブラリ等をチェックする。
この時オプションで指定したディレクトリ(あるいはデフォルトのディレクトリ)に
必要なライブラリ等が無いとエラーがでる。
>>875の言うように、bzip2関係を入れれば解決すると思うよ。
これは別にソースからじゃなくてもバイナリでいいんじゃないかな。
0883856
04/05/14 16:59ID:vu0WINSD<?
require("moe.ini");
$moe = new moe;
$sukisuki=$moe.AnimeList("all");
print $sukisuki;
?>
--結果表示--
ぽぽたん,ぴっちぴちピッチ,ぴちぴちピッチピュア,美鳥の日々,光と水のダフネ,花の魔法使いマリーベル,ガルフォース
0885nobodyさん
04/05/15 00:34ID:x/lO/LgB写真の加工をしたいのですが、PHPで明るさやコントラストを変える方法ってありませんか?
0887nobodyさん
04/05/15 00:57ID:x/lO/LgBimage_gainググってみたのですがヒットしませんでした。
image_contrastは英語のサイトがヒットしましたが、これを使えって意味でしょうか?
0888nobodyさん
04/05/15 01:26ID:???画像処理用の外部プログラムを使うのもありやね。
有名どころだとImageMagickでも明るさやコントラストを変更できる。
0889885
04/05/15 01:49ID:???>>888
ImageMagickですね。
今調べてみた所、解説ページも多そうだしよさげです。
どうもありがとうございます。
0890nobodyさん
04/05/15 02:15ID:???よいのでしょうか?
substr_count(file($file),"文字列")
とかやったりしてますがかなり見当違いな気がします...
0891nobodyさん
04/05/15 02:26ID:???int substr_count ( string haystrack, string needle)
array file ( string filename [, int use_include_path [, resource context]])
0893nobodyさん
04/05/15 05:10ID:???Array ( [100] => 25 [107] => 42 [109] => 15 [105] => 10 [send] => OK )
こういうのが返ってくるんですけどここから
配列$IDに100,107,109,105
配列$avに25,42,15,10
が入るようにするにはどうすればいいですか?
0894nobodyさん
04/05/15 05:16ID:???foreach($original_array as $key=>$value){ $id[] = $key; $av[] = $value; }
sendの処理は判断基準が書いてないので略。if文でなんとかしる
0895nobodyさん
04/05/15 05:19ID:???sendの処理はformです。
0896nobodyさん
04/05/15 05:20ID:???0897nobodyさん
04/05/15 05:29ID:???0898nobodyさん
04/05/15 06:13ID:???0899nobodyさん
04/05/15 08:23ID:???そんなややこしいことしなくても、
$ID = array_keys($original_array);
$av = array_values($original_array);
でいいんじゃない?
0900nobodyさん
04/05/15 10:58ID:???0901nobodyさん
04/05/15 19:26ID:???0903nobodyさん
04/05/15 21:31ID:???エディタで編集できたけど
動的な.phpの場合はブラウザーに関連付けしてもあまり意味ないよね?
というのもapacheなりhttpdなり起動してから
.phpに関連付けしたブラウザーで起動しても正常に動かないわけだし…
みんなどうしてるの?
0904nobodyさん
04/05/15 21:35ID:???0905nobodyさん
04/05/15 22:03ID:???0906nobodyさん
04/05/15 22:10ID:???0907nobodyさん
04/05/15 22:42ID:???早速質問で申し訳ないのですが
現在画像サイトを運営しようと思ってるんですが
○.phpでラージオブジェクトからloreadallにて画像データを出力
×.phpにて<IMG SRC=○.php>というように表示しているんですが
この時に右クリックから「対象の画像を保存」時のファイル名を指定したいのですが
方法はありますでしょうか?
0908nobodyさん
04/05/15 22:43ID:???編集は「送る」でエディタに投げてる。
0909nobodyさん
04/05/15 22:58ID:???IEに関連付けても、どうせPHP実行されないし
0910nobodyさん
04/05/16 01:05ID:???ブラウザに関連付ける意味はあるでしょ。
見た目チェックできますよ
0911nobodyさん
04/05/16 01:10ID:???0912nobodyさん
04/05/16 01:18ID:???オイラはphp-gtkを使ってた時にはダブクリに実行環境、送るにエディタを割り当ててたけど。
0913nobodyさん
04/05/16 01:36ID:???以前、users-mlで「phpにテンプレートエンジンはいらんだろ」と言ってた人(それで食ってる人)も居るぐらいだし。
漏れは去年あたりからテンプレートを使い出して、今年からSmartyを利用しているのだが、
完全に分離すれば、それこそ見た目で確認できるし、使い回しも効く。
初めのころは、デザイナー屋とロジック屋が別々に居る様なところ向けだろと思っていたが、
慣れると1から10まで1人でやるようなレベルでも結構便利。
なので、phpファイルをブラウザで開くと言われると(゚Д゚)ハァ? ってなる。
ま、当初からphpファイルをそのままブラウザで開こうなんて
思ったこともなかったがw
なんか、話が途中でそれてるな。スマソ。
0914nobodyさん
04/05/16 02:29ID:???いや、だから単にhtmlに関連付けただけじゃphpスクリプト等は実行されないだろ
だから、俺はIE開いてローカルにアクセスして見てる。
単なるhtmlファイルならダブルクリックでもいいんだけどね
0915nobodyさん
04/05/16 02:34ID:???http://www.thomas-schilz.de/MozPHP/
0916nobodyさん
04/05/16 02:36ID:???まあたいしたスクリプトじゃなければ、の話だがな。
0917903
04/05/16 03:25ID:???>編集は「送る」でエディタに投げてる
htmlでしたらブラウザーに関連付けして「送る」でエディタ、
またはブラウザーのソースでエディタにしてますが…
0918nobodyさん
04/05/16 03:35ID:???拡張子ごとの設定で、詳細設定すれば、「編集」とか右クリックメニュー増やせるじゃん
これってNT系だけなの?
0919nobodyさん
04/05/16 04:36ID:???0920nobodyさん
04/05/16 04:38ID:???いかに少ない動作でphpを表示させるかを論議しているんじゃないの?
apache起動してブラウザーのお気に入りで表示という手なら
それなりに早いけど、お気に入りしていないファイルは意味ないし…
0921nobodyさん
04/05/16 06:14ID:???ディレクトリとアドレス書き換えてブラウザに渡すだけでなんとかなり
そうだけど・・・。
sedが無いとちょっと悩むかもね、
hoge.datからcgiページに開きたいディレクトリのアドレス引数として渡して、
IEで開くようにしてそっからアドレスに変換して飛ばしちゃうとか。
どっちにしろ10行も書かんでいいのではなかろうか。
0922921
04/05/16 06:22ID:???2chしすぎかな、首吊ってくる。
0923nobodyさん
04/05/16 11:33ID:???0924nobodyさん
04/05/16 13:07ID:???0925nobodyさん
04/05/16 15:27ID:???0926nobodyさん
04/05/16 15:28ID:otjJ9NhR数字の列でソートする為にはどんな方法を使えば良いでしょうか。
aaa,11,ああああ
bbbbb,6,すすす
eeee,33,いい
いつも以下のようにfileで読み込んでforeachとlistを使って
処理しているので相関関係を保つ事ができません。
$line = file ("./log.dat");
foreach ($line as $value){
list ($alphabet, $number, $kana) = explode (",", $value);
処理
}
考え方orヒントを教えて貰えませんか?
0927nobodyさん
04/05/16 16:12ID:???4.2以降の普及状況というのはどんなもんなんでしょうか?
0928nobodyさん
04/05/16 16:15ID:???0929nobodyさん
04/05/16 16:19ID:???やっぱり4.2以降がスタンダードですか?
0930nobodyさん
04/05/16 16:24ID:???0931nobodyさん
04/05/16 16:30ID:???0932nobodyさん
04/05/16 16:37ID:???0933nobodyさん
04/05/16 17:00ID:???一括管理できてかなり楽だし
0934nobodyさん
04/05/16 17:04ID:3g7G37kUソースは
print "<form method=\"POST\">\n";
print "<input type="\hidden\" name=\"id\" value=\"$id\">$id番\n";
print "<input type=\"submit\" name=\"send\" value=\"ok\">\n";
if (isset($_POST['send'])){
print "$_POST['id']";
}
こんなかんじです、お願いします
0935nobodyさん
04/05/16 17:13ID:???actionプロパティはどうした
0940926
04/05/16 18:19ID:???言葉足らずですいません。
aaa,11,ああああ
bbbbb,6,すすす
eeee,33,いい
の場合、数字の列でソートしたいので、最終的に以下の様にしたいんです。
bbbbb,6,すすす
aaa,11,ああああ
eeee,33,いい
自分の脳みそでは方法が思いつかないんで、宜しくお願いします。
0941nobodyさん
04/05/16 18:27ID:???比較関数を自分で作る
http://jp2.php.net/manual/ja/function.usort.php
0942nobodyさん
04/05/16 18:33ID:???0944nobodyさん
04/05/16 19:19ID:???FlashでXMLを作成し(myXMLとします)、その後以下でサーバーへ送信します。
# myXML.sendandLoad( "http://******/receive.php", receiveXML );
その場合、receive.phpで、どのように送られてきたXMLを受け取ればよいのでしょうか?
_POSTを調べたり、getallheaders()を調べたりしてみたのですが???です。
現在わかっていること
・webサーバーにはアクセスに来ている
・getallheadersでとれる要素、POSTCONTENT_LENGTHに入っている数字は、送信しているXMLサイズ
になっている
・PHPは、4.2.2
よろしくお願いします。
0946nobodyさん
04/05/16 21:34ID:US+BPpRGhttp://hoge.com/hoge1.jpg
http://hoge.com/hoge2.jpg
(中略)
http://hoge.com/hoge100.jpg
と100個の画像を
C:\
つまりローカルのCドライブ直下にダウンロードしたいんですが、
どうしたらいいんでしょうか。
copy()を使ってC:\\にコピーしようとしたら、
ローカルではなく鯖上に"C:\1.jpg"から"C:\100.jpg"という
おかしなファイル名で連番ファイルが作成されてしまいました。
どなたかローカルのマシンにダウソする方法を…
0947nobodyさん
04/05/16 21:41ID:P5TYmVAY0948nobodyさん
04/05/16 21:45ID:???自分の鯖からDLさせたいならそのファイル達を圧縮してDLさせればいい希ガス。
>>947
http://www.php.net/downloads.php
0949nobodyさん
04/05/16 21:56ID:???ありがとうございます。
でも自鯖じゃないんです…、公的なデータベースサイトから簡単に連番画像抜こうと思って。
例えばダウンロードソフトのgethtmlとか
http://rd.vector.co.jp/soft/win95/net/se077066.html
ガンガンファイルをローカルに落としてくれるから、
ああいった感じでファイルをローカルに落とす関数はないものかと。
0950nobodyさん
04/05/16 22:01ID:???他人サーバから自分のローカルへ?
それをなんでPHPで作りたいん?
ダウンロード支援ソフトならいくらでもあるし、
それを使えばええやんって思うんだけど・・・
0951nobodyさん
04/05/16 22:03ID:???ついでに今日本屋へSQLの本買いにいったんだけど高くでやめたので恐縮なんだ゛けど。
データを検索するSELECT文で
最新の10レコードのみ取り出す とか
最初の10レコードのみ取り出す とか
次の10レコードのみ取り出す とか
どうやって記述すんでしょうか?
SELECT * FROM data_name WHERE ??????;
だと思うんだけどワカラン。調べないと...
0952nobodyさん
04/05/16 22:05ID:???いや、そんな本格t的なやつじゃなくて、
5分くらいで自分用の最小機能のを
簡単につくろうと思ったらつまづいちゃったから。
ということはブラウザベースのwebアプリじゃ、
一から作って5分で出来るほど簡単じゃないってことか…。
0953nobodyさん
04/05/16 22:14ID:???「最新」だとか「最初」だとかを判断するための項目は用意してあるんだろうな?
>>952
ダウンローダをぐぐってインストールして使うほうがよっぽど手軽で早い
ってか話聞く限りローカルPCでPHP動かしてるわけでもないんだろ?
なんで「webアプリ」にそんな作業させようと思うんだか。。。
0954951
04/05/16 22:16ID:???暫定的にIDフィールド(まぁINTの10桁位で)を作って
データが更新されるたびにIDもカウントすりゃいいんだけど、それだとデータを削除したりするとIDはそのままで連続性なくなるし...
基本分かってねーとつらいっすな。誰か教えれ。
0955nobodyさん
04/05/16 22:23ID:???DB板においで。
とは言っても基本的なことも分かってなさそうなのでそっちでも話が通じるかどうか疑問だな。
安いやつでいいから本を買ったほうがいいぞ。
0957nobodyさん
04/05/16 22:29ID:???そもそも削除しても連続性を維持する方が面倒だな。
0959951
04/05/16 22:30ID:???とりあえずIDフィールド作っておく。データ削除したらUPDATE文使ってIDフィールドに1から連番ふればよさげ。
0960nobodyさん
04/05/16 22:32ID:???PHPとSQL文で望んでいることはできる。
0962951
04/05/16 22:41ID:???LIMIT-OFFSET句はPostgreSQL特有の句で、検索結果の途中から指定件数分表示させる場合に用います。OFFSET句は0(ゼロ)からスタートします。
limit 表示件数 offset 表示開始
■テーブルtblitemの最初の5件のみ全フィールドを検索(表示)
select * from tblitem limit 5;
■テーブルtblitemの5番目からのレコードの全フィールドを検索(表示)
select * from tblitem offset 4;
■テーブルtblitemの5番目から5件分のレコードを全フィールドを検索(表示)
select * from tblitem limit 5 offset 4;
PHPと組み合わせる(つーか最初からPHP)と可能ですね。>>960様、ありがとう。
でもPHP使わずにlimit文のみで 最後のレコードから5件分のレコードを表示 とか表記出来ますか?
いや、DBの基本分かってないから厨房質問ですが...
0963nobodyさん
04/05/16 22:43ID:???ナニを元に連番を振るんだ?
適当でいいのなら別にorder byで整列させる意味もねぇぞ。
>>960
オトコならCURSOR
0964nobodyさん
04/05/16 22:47ID:???更新した時間でも突っ込んどけ。
0965951
04/05/16 22:49ID:???元々は XからXXまでのXX件のデータを表示 させたいってとこから始まって、
なんらIDつけろヴォケ って言われたから 付けてみたんだよ。連番に意味はねー。
前出のlimit文のようなのあるんなら付けたくもなし。
レス数が950を超えています。1000を超えると書き込みができなくなります。