【PHP】くだらねぇ質問はここに書き込みやがれpart8
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/08/08(月) 01:18:55ID:54u1h4+Dここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
0696694
2005/08/26(金) 14:20:10ID:???FORMタグに「enctype="multipart/form-data"」を入れたらアップロードできました。
とりあえずこれで行こうと思います。てかマニュアルに載ってなくね?
>>695
俺はDBが好き。
0697nobodyさん
2005/08/26(金) 14:22:26ID:???<form enctype="multipart/form-data" action="_URL_" method="POST">
0698nobodyさん
2005/08/26(金) 14:28:58ID:???ttp://www.php.net/manual/ja/features.file-upload.php
RFC 1867 - Form-based File Upload in HTML
つー決まり事があって、その中でenctypeの指定の仕方が決まってる。
0699nobodyさん
2005/08/26(金) 14:52:32ID:???ファイルアップロードのenctypeにmultipart/form-dataを指定するのはHTMLの決まりであってPHPは関係ない
0700nobodyさん
2005/08/26(金) 16:08:45ID:wVCDYq5xリンクにカーソルを乗せると、リンクの説明など文字を出すことができますが、
カーソルを乗せたときに、そのリンク先のファイル更新日付を出すにはどうすれば
よいですか?
よろしくお願いします。
0702nobodyさん
2005/08/26(金) 17:05:10ID:???PHPに限らずPerlでもJavaでもRubyでもPythonでもCでもenctype="multipart/form-data"が無いとアップローで出来ないから
0703nobodyさん
2005/08/26(金) 17:15:08ID:???html4.01の仕様
ttp://www.w3.org/TR/html401/interact/forms.html#adef-enctype
input type="file"を使う時は enctype="multipart/form-data"を使え、とある。
0704nobodyさん
2005/08/26(金) 18:20:12ID:???0706nobodyさん
2005/08/26(金) 19:05:04ID:???0707nobodyさん
2005/08/26(金) 20:28:52ID:???array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
array ( [0] => あ [1] => い [2] => う [3] => え [4] => お )
その後、すべての行をさらに配列の中に入れるには
array (
array[0] ( [0] => a [1] => b [2] => c [3] => d [4] => e ),
array[1] ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ),
array[2] ( [0] => あ [1] => い [2] => う [3] => え [4] => お )
)
どのようなソースを書けば良いのでしょうか?
0708nobodyさん
2005/08/26(金) 22:34:35ID:???$fp = fopen("test.csv",'r');
flock($fp, LOCK_EX);
while(!feof($fp)){
$data_line = explode(",",chop(fgets($fp)));
$data_all[] = $data_line ;
}
flock($fp, LOCK_UN);
fclose($fp);
//print_r($data_all);
0712nobodyさん
2005/08/27(土) 04:17:13ID:???>>708のソースで、私の利用している鯖では
PHPのバージョンが古いためなのか
4行目のfgets($fp)をfgets($fp,データ長)
としないとエラーが帰ってきました。
0714nobodyさん
2005/08/27(土) 10:38:52ID:???カンマ区切りのCSVファイルには
$data_line = fgetcsv($fp, 1024);
タブ区切りの時には
$data_line = explode("\t",chop(fgets($fp)));
と使い分けてみます。
0716nobodyさん
2005/08/27(土) 11:48:58ID:???ttp://jp.php.net/manual/ja/function.fgetcsv.php
0717nobodyさん
2005/08/27(土) 12:14:10ID:???PHP5をWin上でApache2のモジュール版として動かしているとき、__destructの中では一切ファイルが開けませんでした。
CLIだと__destructの中でもちゃんと開けました。
これは一体どういうことですか?
マニュアルのどこかに書いてあったら教えてください。
0720nobodyさん
2005/08/27(土) 16:53:49ID:???DBにDATE型で登録してあるデータはYYYY-MM-DDという形式になっていますが、
たとえば今日の日付と一致するかどうかは if ($col["date"] == date("Y-m-d")) で判定できますが、
今日以前のものかどうかを判定するのにたとえば if ($col["date"] < date("Y-m-d"))で判定できるのでしょうか?
試したところ問題なく動作しているように見えるのですが、これでいいのでしょうか?
YYYY-MM-DDやYYYY/MM/DDという形式のデータ同士の比較はPHPは対応していると考えてよいのでしょうか?
0722nobodyさん
2005/08/27(土) 20:54:31ID:???aiueonn
と入力すると
あいうえおん
と返してくれるライブラリーってないですか?
Javascriptでは見たことあるのですがPHPでないですかね?
宜しくお願いします。
0723nobodyさん
2005/08/27(土) 22:08:56ID:oI14vExU私にはPHP等のプログラミングは不可能と判断しまして、お願いがあります。
PHP+DBで小規模なシステムを製作して頂ける親切な方おられないでしょうか?
勿論ある程度の謝礼は致します。
あと製作後のクレームに関してもノークレームと言う条件でも構いませんので
どなた様かご協力頂ける方おられませんでしょうか??
宜しくお願いします。
もしやっていただけそうな方いましたらメール下さい。
値段的な交渉とシステムの構造をご説明致します。
[email protected]
0725nobodyさん
2005/08/27(土) 22:17:47ID:???恐らく連絡される人みんなが聞く事になると思いますが
サーバーのOSや、サーバーの所有者は誰なのかも
明記しておくと余計な説明の手間が省けていいかと思います。
サーバーのOSは何を使っているのか、開発者はサーバーを触れるか
(レンタルサーバーだと自由に出来ないですよね)
とか結構大事な問題ですので。
0727nobodyさん
2005/08/27(土) 22:23:16ID:oI14vExU>>725
はい、まずは予算なんですが10万円程でお願いしたいと思ってます。
それとサーバーなんですが、一応エクスビットと言うところの
レンタルサーバーでCGI・PHP・は可能でDBも2つ作成できるとの事です。
他に詳しい環境等お聞きする事何かありますでしょうか??
0728nobodyさん
2005/08/27(土) 22:25:58ID:oI14vExUマルチって言うのはどう言う事でしょうか??
すみませんがあまりプログラミングの事解らない物で、
すみませんが教えて頂けますでしょうか?
0729nobodyさん
2005/08/27(土) 22:34:55ID:???☆えな♪
[email protected]
2005/04/30(土) 09:50:31 ID:SSF+EUWC
あなたなら夢の100万円と現実の20万円どちらにしますか?
ここからの情報はあなたにとって100%確実に収入になる情報です。
「またその手の話しかぁ!」と思う方は見なくて結構です。
少しでも気になるのであれば見て頂くと納得してもらえるでしょう。
ttp://2bo.cc/affiliate/scripts/t.php?a_aid=1494&a_bid=3
0730nobodyさん
2005/08/27(土) 22:40:02ID:oI14vExUこれが何か問題ありますか??
だいぶ前に何も解らずにやっただけの事柄ですけど、
誰にだって失敗や興味って言う事はありますからね。
今はやってませんし、むしろあなたみたいにメールアドレスから
人の情報を公開する方が悪質では??
まあ私は子供ではないのでこれ以上の事はいいませんが!!
0731nobodyさん
2005/08/27(土) 22:52:13ID:???何処に書き込みしたら良いか解らないので、
ココにも書き込みさせて頂きます。
実はPHPについて私自身今から勉強しても
かなりの時間がかかるかと思いまして、
って言うか多分無理に等しいと思い、
どなたか親切な方に小規模なシステムを製作
して頂きたいのですが、ダメでしょうか??
勿論報酬は致します。交渉させて下さい。
もしやって頂ける方おられましたらお願いしたいのですが?
ノークレームと言う条件で構いませんので!!
詳しい内容はやって頂ける方がおられましたらご説明
致しますので、宜しくお願いします。
0732nobodyさん
2005/08/27(土) 23:02:13ID:???>>588
>>598-605
という流れになっていたと思うのですが。
ここに戻ってきたという事は
「PHPでオブジェクト指向プログラミング」スレでも断られたようですね。
0733nobodyさん
2005/08/27(土) 23:10:26ID:???0734nobodyさん
2005/08/27(土) 23:18:11ID:oI14vExUやって頂けない理由か何かあるのでしたら、教えて下さい。
私的には、お金の方は製作前に半金と製作後に残金と言う形で
きっちりお支払させて頂くのですが。値段的にもやはり難しい
んでしょうかね??
0735nobodyさん
2005/08/27(土) 23:21:23ID:???0737nobodyさん
2005/08/27(土) 23:40:21ID:???可哀想だからマジレスすると、難しいと思います。
・案件の規模が分からないけど、とにかく予算が低すぎます。
・製作前半金と製作後残金って、ゴルゴ13か何かですか?w
他人と仕事したことあります?
・こういう匿名掲示板で仕事の依頼をする非常識さに気づけない
人間と仕事をするのは不安です。
0738nobodyさん
2005/08/27(土) 23:45:19ID:oI14vExU真面目な話。
なら君はビジネスをどう捕らえてるの?????
業者に頼めば安いとこで16万だったわ!!
でも10万で個人的に取り引きするなら相場じゃねぇ〜の!!
俺が何をナメてるのか教えてよっ??
0739nobodyさん
2005/08/27(土) 23:48:59ID:???じゃあこんなところでうだうだ書き込みしてねえで
その業者に16万で頼めや。めちゃめちゃ安いじゃん。
頭沸いてんじゃねえか?
0740nobodyさん
2005/08/27(土) 23:49:52ID:oI14vExU私はこのような形で仕事依頼した事無いから私も不安なのは解りますか?
ですから着手半金と言ったのですよ。
もし金額が少ないならまずメールでシステムお伝えしますから、
金額提示して下さい。納得いけば、前払いしますから!!
0741nobodyさん
2005/08/27(土) 23:53:32ID:oI14vExUなぜ人を中傷するような言葉が出るのですか??
私は解らないから聞いただけですから・・・
あまり熱くならないで下さいね。
お邪魔したようなので、業者に頼みます。
すみませんでした。
0742nobodyさん
2005/08/27(土) 23:54:12ID:???>>588 のシステムだとすると、10万てありえない…。20でも安い。
こちらのリスクも考えて、30からが現実的だけど…。
素直にその製作会社に頼みなよ。ありえない安さだよ。
0743nobodyさん
2005/08/27(土) 23:55:24ID:???業者に頼んで16万の見積もり提示受けたんでしょ。
それで納得しなかったからここにいるって事は、
結局16万以上は払えないってことだそ。
どんなシステム要件かは知らんが。
0744nobodyさん
2005/08/27(土) 23:57:09ID:oI14vExUそうでしたか!!
解りました。大変お騒がせしてすみませんでした。
このように言って頂けると解りやすかったのですが・・・
なぜか熱くなって噛み付いてくる方がいるもんで困りました。。。
では本当に有難う御座いました。
失礼致します。
0745nobodyさん
2005/08/27(土) 23:58:08ID:???なぜ、ここでどんなシステムなのかを明かせない?
「PHP+DBで小規模なシステム」だけでは金額面については結論でない。
で、「メールをくれれば教えます」ってあたりに怪しさが漂うから、
みんなあなたを胡散臭く思っているんですよ。
0746737
2005/08/27(土) 23:58:13ID:???うーん。自分はフリーなんでどんな仕事でも喜んで
お請けしたいと言うべきところなんですが、どんな
に小規模だったとしても16万では作れません。その
見積もり出した業者に頼むのがよろしいかと。破格
だと思います。>>742さんの言ってるように、自分も
最低でも30からかな。
16万でも納得がいかないなら、情報系の大学で
学生さんでも捕まえてみたらどうでしょう。
0747nobodyさん
2005/08/28(日) 00:03:17ID:???なぜ噛み付かれるか本当に分からない?
非常識だからです。
常識が分からない人間とは組めないよ。
トラブルが目に見える・・・。
0748nobodyさん
2005/08/28(日) 00:04:03ID:oI14vExU大変参考になりました。しかしなぜ業者は16万と言う見積もりを
提示したのでしょうかねww
まあ一度その業者にも再度打ち合わせして確認してみます。
お騒がせして本当にごめんなさい。
失礼致します。
0749nobodyさん
2005/08/28(日) 00:08:49ID:ojUxO5Uv本当にすみませんでした。
常識、非常識は解りますが、
初めての事だったんで・・・
無神経な事言って御免なさい。
皆さんの行った事を参考にやって行きますので!
0750nobodyさん
2005/08/28(日) 00:11:38ID:???赤だろうがとにかく案件の数を増やしたい所もあるだろうからね。
それぞれの業者の思惑があるんでしょう。
激安な業者には激安な理由があるかも知れないので、気をつけて。
不測の事態に対応してくれなかったり、してくれても遅いとか、
追加料金がかかるとか。
制作系の金額なんてあってないようなものだけど、
ビジネスの金額って安心を買うためのものだと思うよ。
0751初心者
2005/08/28(日) 01:21:24ID:5+BoFtHP0752nobodyさん
2005/08/28(日) 01:34:08ID:???実際のファイルの中では、改行コード(\r or \n or \r\n)があるだけなんよ。
つまり、例えば4行目が始まる場所を見つけるにはそれより前に改行コードを3個探すという作業が必要になる。
また、書き換えるつーのも全体の文字数が変化するようなものだったら、
その書き換え部分以降を全て書き直す必要がある。
そういう事を踏まえた上で、、、面倒なので煙草吸ってから書く。。。
0753初心者
2005/08/28(日) 01:37:53ID:5+BoFtHP0755nobodyさん
2005/08/28(日) 02:02:16ID:???まぁ、そうは言っても「〜行目を」って使い方が多いので、
一行をまるごと引っ張ってくる関数がいくつかある。
fgets()は1行を取得できる。(マニュアルに例あり)
それでも生ぬるいって場合は、file()を使ってファイル全体を配列(行単位)に取得できる。
そうやって取得し必要な場所に変更を加えた文字列をファイルに書き込めば修正できたことになる。
fgetsを使った場合は、
while(略){ fgets()で読み込み; if(修正行かどうか){ 修正; } fwrite()で別ファイルに書き込み; }
別ファイルを元ファイルにrename;
fileの場合は、まぁ説明しなくてもわかるべ。ガーと読んで修正してガーっと書き込む。
0756nobodyさん
2005/08/28(日) 02:20:27ID:???0757nobodyさん
2005/08/28(日) 09:25:52ID:???どうしてもエラーが出てしまいます。
itemauc.cgi?mode=view&no=7777">題名</a></td>
だとすると題名のみ抽出したいのです。
ご教授お願いします。
<?php
$InputFile = "http://*********";
$Pattern = "/(itemauc.cgi?mode=view&no=.*">)(.*)(<\/a><\/td>)/";
$fp = fopen($InputFile, "r");
if ($fp == FALSE) {
echo "error";
exit();
}
while (!feof($fp)) {
$s = fgets($fp);
$n = preg_match_all($Pattern, $s, $ar, PREG_SET_ORDER);
for ($i = 0; $i < $n; $i++) print "・" . $ar[$i][2] . "<br />\n";
}
fclose($fp);
?>
0760757
2005/08/28(日) 09:50:13ID:???正規表現おかしいですか?
0761nobodyさん
2005/08/28(日) 10:18:09ID:???を
$Pattern = "/(itemauc.cgi?mode=view&no=.*\">)(.*)(<\/a><\/td>)/";
にしたらどう?
(「&no=.*">」の二重引用符をエスケープする「&no=.*\">」)
0762nobodyさん
2005/08/28(日) 10:23:36ID:???0765761
2005/08/28(日) 11:00:35ID:???おっしゃる意味わかりました。
>>757
$Pattern = "/(itemauc.cgi?mode=view&no=.*">)(.*)(<\/a><\/td>)/";
を
$Pattern = "/(itemauc.cgi\?mode=view&no=.*\">)(.*)(<\/a><\/td>)/";
にすると上手くいった。
「&no=.*">」の二重引用符と「.cgi?mode」の「?」をエスケープする。
「?」が正規表現で評価されたみたい。
0767nobodyさん
2005/08/28(日) 12:59:49ID:???0768nobodyさん
2005/08/28(日) 13:59:00ID:dDBq8KPQ変数かファイルに落としたいのですが、どんな関数をつかえばよいのでしょうか?
教えてくださいませ。
0769nobodyさん
2005/08/28(日) 14:09:13ID:???これだと抽出した文字全部表示されるようだけど指定できないかな?
1つ目とか・・・いろいろやってみたんだけど難しー
便乗で申し訳ないが誰か教えてださい。
0770nobodyさん
2005/08/28(日) 14:14:05ID:???これじゃだめ?
$url = "http://*********";
$out = "out.html";
system("wget $url -O $out");
0772nobodyさん
2005/08/28(日) 15:22:57ID:dDBq8KPQ>>771さん
早速のアドバイス、どうも有難うございます。
今は時間がないので、後ほど試してみます。
有難うございました。
0773769
2005/08/28(日) 17:02:12ID:???$InputFile = "http://*********";
$Pattern = "/(itemauc.cgi?mode=view&no=.*">)(.*)(<\/a><\/td>)/";
$fp = fopen($InputFile, "r");
if ($fp == FALSE) {
echo "error";
exit();
}
while (!feof($fp)) {
$s = fgets($fp);
$n = preg_match_all($Pattern, $s, $ar, PREG_SET_ORDER);
for ($i = 0; $i < $n; $i++) $aaa[$i] = $ar[$i][2];
}
print $aaa[1] . "<br>\n";
print $aaa[2] . "<br>\n";
print $aaa[3] . "<br>\n";
fclose($fp);
?>
757さんの改造してるんだけどうまくいかない。
指定したものだけ表示したいんですけど。
どこか間違ってるところありますか?
0774nobodyさん
2005/08/28(日) 18:00:10ID:Io8dHAYtヒントだけでもいいんで教えてください。
ISP規制中により携帯からなので
言葉足らずな点があるかもしれませんがよろしくお願いします。
0776nobodyさん
2005/08/28(日) 18:35:59ID:???自分で作ってるログなら、最後の行だけ別ファイルにキャッシュする
そうでなければ最初から1行づつ読んで最後の行だけ取り出す。
ログファイルが追加のみでどんどん大きくなるという前提なら
最後の行を取得する時にファイルポインタの位置を記録しておけば後の負担が減る。
ログ1行の長さがある程度わかる場合は、
fseekのSEEK_ENDを使って適当な位置から読む手もある。
乱暴なやり方だが。
0777773
2005/08/28(日) 22:26:33ID:???ご教授お願いします。
0779nobodyさん
2005/08/28(日) 22:50:54ID:???以下簡略したコードを示します。sub()内では$writeが1ではありませんでした。
index.phpで、main()のなかではなくfunctionの外でrequire('write_main.php');だと
sub()内でも1が表示されました。
そういうものなのでしょうか。この現象に気づくのに時間かかってしまった。
---index.php----
<HTML><BODY><PRE><?
function main(){
require('write_main.php');
}
main();
?></PRE></BODY></HTML>
---write_main.php---
<?
$write = true;
if($write){
require('write_sub.php');
} ?>
---write_sub.php---
<?
echo "[$write]\r\n"; // [1]が表示される。
function sub(){
global $write;
echo "[$write]\r\n"; // []が表示される。
}
sub(); ?>
0780nobodyさん
2005/08/28(日) 22:53:24ID:???> for ($i = 0; $i < $n; $i++) $aaa[$i] = $ar[$i][2];
この行も間違ってる。
この行の実行のされ方をよく考えろ。
0781nobodyさん
2005/08/28(日) 23:01:53ID:???function main(){
require('write_main.php');
}
は
function main(){
$write = true;
if($write){
require('write_sub.php');
}
}
こうなるわけで、
$writeはmain関数のスコープ内で扱われることになって、
globalではなくなるね。
動作としてはそんなもんじゃないかな。
0782nobodyさん
2005/08/28(日) 23:24:04ID:???ありがとうございます。
なるほど、判りました。
ということは、そうかPHPってfunctionの中にfunctionを入れられるのか。
function main()
{
function sub()
{
}
}
しらんかった。
0785nobodyさん
2005/08/29(月) 04:01:32ID:???if (phpversion() >= "4.1.0")書いたほうがいい?なくてもかまわない?
0786nobodyさん
2005/08/29(月) 06:50:29ID:???関数内でincludeすればグローバルスコープの名前空間が汚れにくくなる利点もあるわけだが。
ヒント:ケースバイケース
>>785
extract使わずに修正するのは無理な状況なの?
0787785
2005/08/29(月) 08:15:47ID:???レスさんくす。
最近PHPはじめたんだけど、なんこかの配布サイトのソース見ると、
if (phpversion() >= "4.1.0") {
extract($_POST);
}
って書いてあるのが結構あるのよね。
おまじないなのか、別に必要がないのか検索してもいまいちさっぱりで。
バージョンによってはこれをかかないとPOSTされたデータが入らないとかあるんだけど、互換?バージョンによってはエラーになったりするのかな?
0788777
2005/08/29(月) 08:24:37ID:???ループさせないほうがいいのでしょうか?
0789nobodyさん
2005/08/29(月) 08:27:33ID:???ttp://www.php.net/manual/ja/language.variables.predefined.php
$_POSTが使えるようになったのは4.1.0以降。(register_globalsのデフォルトがoffになったのは4.2.0以降。)
4.1.0以前は、$HTTP_POST_VARSを使うか、$POST変数名を使っていた。
0790nobodyさん
2005/08/29(月) 08:43:05ID:???PHP4.0以下でregister globalsがoffだと動かない
if (PHP_VERSION < "5.0.0") {
extract($HTTP_POST_VARS);
}
0791nobodyさん
2005/08/29(月) 09:03:22ID:???いい加減しつこい。
というか、そんな聞き方で答えてもらえる(答えられる)わけないだろ。
そもそも、ここに貼ったソースを見る限りだと、このスレの>>757からのレスすら読んでないみたいだし
0792nobodyさん
2005/08/29(月) 11:18:25ID:???取得したいと思い・・・mb_ereg_matchを使ってできると
思いきや、マニュアルには位置を返す記述がないので
できないのかなと思ってます。
全角数字が出てくる位置は
どのようにしたら取得できるのでしょうか?
0793nobodyさん
2005/08/29(月) 11:27:12ID:???0794nobodyさん
2005/08/29(月) 12:18:28ID:???0795nobodyさん
2005/08/29(月) 12:33:45ID:s5T6oqi1file()
でファイルを全部配列に読み込む。
んで、mb_ereg を使って全角文字があるかどうかをループで探していけば配列番号わかるでしょ。
配列位置=行目だから。
■ このスレッドは過去ログ倉庫に格納されています