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

【PHP】ID出さんでも質問OKなスレ【初心者歓迎】2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/09/10(木) 22:52:33ID:???
まず読む→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

姉妹スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
0697nobodyさん2009/10/19(月) 22:37:55ID:???
>>695
なんでそういうことをしたいのか分からないので最適な方法はどれになるかわからんけど
消したいファイルのリストを生成しておき(exec使ってるらへんに)
次回アクセス時にリストにあった場合それらを消すというのはいかがだろう?
0698nobodyさん2009/10/19(月) 23:32:01ID:???
証拠隠滅したいんじゃないのは
ID出さないスレで質問してるから後ろめたい悪意を背後から感じられる
0699nobodyさん2009/10/20(火) 09:14:28ID:???
>>695
自殺プログラムか
普通にunlinkではだめなんだっけ?
あと、Locationの書き方間違えてる
0700nobodyさん2009/10/20(火) 09:49:35ID:???
Locationってhttp://とかいるんだっけ?
Location 自体使わないから知らんけど。
0701nobodyさん2009/10/20(火) 10:58:33ID:???
Location後に__FILE__をunlinkだろ
0702nobodyさん2009/10/20(火) 11:38:40ID:???
俺はフォルダ消すときはexecよく使う
unlinkだと中身あると面倒だしな
0703nobodyさん2009/10/21(水) 10:49:18ID:???
/* fnc_capture.php */
<?php
require_once("../MySmarty.class.php");
$o_smarty=new MySmarty();
$o_smarty->assign("data",array(1,2,3,4,5,6,7,8,9,10));
$o_smarty->display("fnc_capture.tpl");
?>

/* fnc_capture.tpl */
{capture name="exp"}
{include file="fnc_section2.tpl"}
{/capture}
{if $smarty.capture.exp|strip:""!=""} // ココの "" != "" の意味が分かりません
結果)<br />
{$smarty.capture.exp}
{/if}

/* fnc_section2.tpl */
{section name="loopName" loop=$data start="2" step="2" max="3"}
{$smarty.section.loopName.rownum}.
{$data[loopName]} <br />
{/section}

すみません、上の3つのファイルで、fnc_capture.tplの『"" != ""』の意味が分かりません
strip修飾子で繰り返された空白・改行・タブを、1つの空白または与えられた文字列によって置き換えたものが空白ではない???
って感じで理解が出来ません
簡単な事だとは思うのですが、どなたか教えて下さい
0704nobodyさん2009/10/21(水) 12:01:18ID:???
>>703
{if ($smarty.capture.exp|strip:"")!=("")}
ということではないかと
0705nobodyさん2009/10/22(木) 10:03:21ID:h4MlR9Sn
軽量のフレームワークの名前とHello worldの出し方を教えろやks
しらねえなら今から調べて来い
12時に飯食うからそれまでにとっととggってこいや
時間がねえからさっさとしろよksども
0706nobodyさん2009/10/22(木) 10:12:13ID:???
こっちも書いてるのか。 触るなよ。
0707nobodyさん2009/10/22(木) 11:19:43ID:???
>>703はどうなった?
0708nobodyさん2009/10/22(木) 15:02:17ID:???
PHPでExcel出力をする必要があり、PEARのライブラリspreadsheet_excel_writerを
使おうと思っているのですが、PEARでインスコ出来ません。
pear install --alldeps Spreadsheet_excel_writer
というコマンドをターミナルから実行するのですが、しばらくすると
No releases available for package "pear.php.net/Spreadsheet_excel_writer"
と出て終わってしまいます。
何か違う方法でインストールするのでしょうか?
0709nobodyさん2009/10/22(木) 15:39:17ID:???
betaだからじゃね?
07107032009/10/22(木) 15:55:36ID:???
>>704
つまり、 ($smarty.capture.exp|strip:"") != ("")と言う事は、取得した配列から空白文字を取り除いたものが、
空文字でなければ{$smarty.capture.exp}を出力するという事でしょうか?

>>707
風邪でブッ倒れていました
体調悪いです・・・
07117082009/10/22(木) 16:14:33ID:???
pearで何かをインストールしようとすると必ず上記のエラーが出ます。
ping pear.php.net を行うと、pingが帰って来ないのでpear.php.netにアクセス出来ない感じです。
どうしたらいいんでしょうか・・・?
0712nobodyさん2009/10/22(木) 16:21:16ID:???
会社の鯖管がフィルタリングしてんじゃね?
07137082009/10/22(木) 16:57:33ID:???
うーん・・・
pear.php.netはping帰ってこないのに、
pecl.php.netはpingが帰ってくる・・・。
当然 pear installは出来ないけど、pecl installはOK。
困ったぞ・・・
0714nobodyさん2009/10/22(木) 23:29:06ID:???
ExcelWriterは普通にどこかモジュールのパス通ってるところに置いて
php.ini にその設定追加してあげれば動くはず

つーか、昔のExcelWriter/Reader 使っているサイト改修したときはそうした。
0715nobodyさん2009/10/23(金) 02:43:19ID:???
PHPエディタで、
フォントの大きさを14より
大きくするにはどうしたらいいの?
07167082009/10/23(金) 08:58:03ID:???
結局どうしてもpear.php.netに接続出来ないので、ローカルにgzを落として
ローカルインストールして解決しました。
de.pear.php.netには接続出来るので、チャンネルのURLを変更しようとしても
pear.php.netに一旦アクセスしないといけないので変更出来ず・・・。
ずっとこのままだとちと面倒だなぁ・・・。
0717nobodyさん2009/10/23(金) 10:51:39ID:???
PHPエディタは使うなっ!!!!!!!!!!!!!!!!!!!
しっかりしたエディタをカスタマイズしろよ!!!!!!!!!!!!
0718nobodyさん2009/10/23(金) 14:33:10ID:TDVXUmCb
【OS名】2000 apache 2.2
【PHPのバージョン】php5.21
【質問内容】
PHPで画像を表示させ、「何秒か経過したら他の画像を表示させる」
プログラムが作れません。グーグル先生は俺の日本語が下手すぎて回答内容
も僕を導いてはくれませんでした。そもそもhtmlに結果のみを表示するPHPで
質問内容が出来るものなのか?と正直自分は思っています。
出来るのでしたらどなたかやり方を教えてください。
よろしくお願いいたします。
0719nobodyさん2009/10/23(金) 14:34:01ID:???
>>718
画面遷移ではなくフォトフレームみたいな奴?
0720nobodyさん2009/10/23(金) 14:35:42ID:???
>>718
JavaScriptスレにおいで
http://pc11.2ch.net/test/read.cgi/hp/1255424883/
0721nobodyさん2009/10/23(金) 14:59:05ID:???
>>716
78.129.214.25にpingは通る?
通るならとりあえずhostsに書いとけば
0722nobodyさん2009/10/23(金) 15:19:18ID:EL5fculY
PHPでHTMLを出力しているのですが、ページの上部に
空白ができてしまいます。

PHPファイルの文字コードをANSIに変えてやると問題ないのですが...

現在は、UTF-8を使用していますが、やはりANSIに切り替えるしかないでしょうか?

アドバイスよろしくお願いします。
0723nobodyさん2009/10/23(金) 15:20:38ID:???
BOMでも入ってるのでは?
07247222009/10/23(金) 15:20:44ID:EL5fculY
すみません、事故解決しました。

UTF-8のBOMをとってやればOKでした
0725nobodyさん2009/10/23(金) 20:19:55ID:???
>>719
そうなります。広告のポップやフォトフレームみたいに
「自動で画像が変える」為のプログラムがわかりません。
一度きりの表示はわかるんですが。
>>720
この問題はJavaScriptスレで聞けば良いということなのでしょうか?
0726nobodyさん2009/10/23(金) 20:23:09ID:???
>>725
JSでやったほうが楽だけど
PHPでやるならランダムで画像を出力するページをインラインフレームで表示してrefleshで定期的に更新させるとか
0727nobodyさん2009/10/23(金) 20:25:08ID:???
>>725
>この問題はJavaScriptスレで聞けば良いということなのでしょうか?
うん。
0728nobodyさん2009/10/23(金) 20:26:10ID:???
アクセスカウンタみたいなものを作っています。
使い方としては、カウンタ本体のスクリプトファイルがあり、それを他ファイルからincludeして使うような形です。

何らかのエラーが出た場合、適当なエラーメッセージを吐いて終了(include元のページに制御を戻す)したいのですが、exitで終了してしまうと、その後、ページの内容が出力されません。
どうしたら良いのでしょうか。

ファイルの末尾にgotoする、というもの考えたのですが、もっとスマートが方法があれば教えてください。
07297282009/10/23(金) 20:32:27ID:???
なんとreturn文でこの機能が実現できるんですね、知りませんでしたorz
0730nobodyさん2009/10/23(金) 20:34:31ID:???
6分の間に何があったんだ
0731nobodyさん2009/10/23(金) 20:36:38ID:???
謎である。
0732nobodyさん2009/10/23(金) 21:29:52ID:???
goto厨きめえ
0733nobodyさん2009/10/23(金) 22:01:50ID:EonHv/nO
悪いことは言わないからgoto使うのはやめとけ
07347282009/10/23(金) 22:19:00ID:???
引き続いての質問なのですが、
他ファイルからカウンタ本体のスクリプトをincludeして使うようなカウンタだと説明したのですが、
この場合、変数や関数の名前が被ってしまう場合の対策というのは何か無いのでしょうか。
0735nobodyさん2009/10/23(金) 22:27:03ID:???
名前空間というものがある
0736nobodyさん2009/10/23(金) 23:00:02ID:4v117FRK
質問があります。

DBに入っている画像データのバイナリから、
ファイルを介さず直接サムネールを生成する方法はないでしょうか。

画像そのものを出力したり、ファイルやURLからサムネールを
生成する方法はあちらこちらに書いてあるのですが、
バイナリを直接GDに食わせる方法の記述を見つけられません。

Perlでは簡単にできるのに、PHPではできないということなのでしょうか。
0737nobodyさん2009/10/23(金) 23:04:28ID:???
http://www.php.net/manual/ja/function.imagecreatefromstring.php
がそれじゃないの?
0738nobodyさん2009/10/24(土) 00:46:14ID:???
>>736
Content-Typeヘッダを、JpegならJpegの、GIFならGIFのものを与えて投げてあげればおk
0739nobodyさん2009/10/24(土) 01:02:45ID:???
PHPのクラスって、宣言されてないインスタンス変数にも代入できるようだけど、
これだとタイプミスしたときに見つけにくいよね。

class Foo {
}
$obj = new Foo();
$obj->x = 111;
$obj->y = 222;
var_export($obj); #=> Foo::__set_state(array('x' => 111, 'y' => 222,))

宣言してないインスタンス変数に代入しようとしたらエラーになるよう、設定できませんか?
0740nobodyさん2009/10/24(土) 01:27:37ID:???
__setメソッドというのがあるよ
0741nobodyさん2009/10/24(土) 11:41:45ID:???
PHPの関数っていくつあるの?
どこかのサイトで数えてた気がするけど、見つからないので教えてください。
0742nobodyさん2009/10/24(土) 11:57:31ID:???
http://php.net/manual/ja/indexes.php
関数全部コピペしてプ改行のぞいてA-Zと_の27をひけばそんくらいなんじゃね
0743nobodyさん2009/10/24(土) 12:03:33ID:???
>>742
そこのページ、クラスも入ってる

>>741
http://php.net/manual/ja/indexes.php
このページの総ワード数5900単語の内の半分ぐらいだと思えばいい
0744nobodyさん2009/10/24(土) 12:19:32ID:???
>>741
>>743のから::か->を含む行をぬいてみた。
http://www.dotup.org/uploda/www.dotup.org296354.txt.html
4199個。
0745nobodyさん2009/10/24(土) 12:20:51ID:???
>>742-744
・・・
http://jp2.php.net/manual/ja/function.get-defined-functions.php
0746nobodyさん2009/10/24(土) 12:23:16ID:???
ワロタ
0747nobodyさん2009/10/24(土) 12:24:02ID:???
>>745
それだとビルド時のオプションによっては出てこない関数がある。
だったと思う。
0748nobodyさん2009/10/24(土) 12:25:27ID:???
ま、知る必要のないことだな
0749nobodyさん2009/10/24(土) 12:26:44ID:???
PHP4200KO

パスワードに使おう。
0750nobodyさん2009/10/24(土) 12:27:20ID:???
動的にソースを入れ替えるわけでもあるまいし・・・
それなら継承とかを学んだ方がいいぞ
0751nobodyさん2009/10/24(土) 12:32:43ID:???
元ネタから10レスも離れてないのに、継承まで飛びますかw
0752nobodyさん2009/10/24(土) 12:49:30ID:???
>>747
正解

>>745
無知乙
0753nobodyさん2009/10/24(土) 13:03:18ID:???
>>745をそんなにいじめるなよw
気取りたいことくらい誰だってあるだろ
0754nobodyさん2009/10/24(土) 13:49:14ID:???
>>745
マジksだなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
それだとオプションなしでのlinuxとエクステンションdllを読み込んでないでのwinで比べてもハッキリと違うだろがwwwwwwwwwwwww
その方法だとlinuxでないと使えない関数はwinでは取れねえだろwwwwwwwwwwwwwww
顔真っ赤でIDも真っ赤になって幸せだなwうぇwっうぇうぇwwwwwwwwww
0755nobodyさん2009/10/24(土) 14:50:02ID:???
745涙目www
0756nobodyさん2009/10/24(土) 15:47:12ID:???
よっぽど悔しかったんだな
草の数が物語ってる
0757nobodyさん2009/10/24(土) 16:50:30ID:???
冷静を装って756で現れる>>745先生w
0758nobodyさん2009/10/24(土) 19:06:33ID:???
ユーザーが
すべてのクッキーを受け付けない

って設定にしてたら、
セッションクッキーも
はじかれるの?
0759nobodyさん2009/10/24(土) 19:09:26ID:???
当然受け付けてくれない。
ブラウザからは、クッキーのそれぞれの意味は判別不可能。
0760nobodyさん2009/10/24(土) 19:15:14ID:???
したら、
セッションクッキーを発行したとして、
それが、必ず受け入れられている、
って勝手に自分で前提を組んでしまって、
その前提でアプリを設計するのは
まずい、ってことだよね。
0761nobodyさん2009/10/24(土) 19:22:28ID:???
セッション張れないならログインできない、とか
いう症状になるんだろうね。
心配ならチェックすればいいと思う。
なにかエラー出たら「クッキーonにしてね」って
表示するだけのサイトも多いけど。
0762nobodyさん2009/10/24(土) 19:50:17ID:???
その処理をめんどがって書かないでいると、

「IDとパスワードをいれているのになぜかログインできない」

ってクレームになるわけね。
0763nobodyさん2009/10/24(土) 20:34:31ID:???
そのためのsession.use_trans_sidじゃないの?
0764nobodyさん2009/10/27(火) 14:15:50ID:???
>>760
情弱乙
それマスゴミが言ってたそのまんまじゃん
0765nobodyさん2009/10/27(火) 14:16:54ID:???
>>764
自分の言葉で解説よろ
0766nobodyさん2009/10/27(火) 16:36:12ID:???
いまだに「情弱」とか「マスゴミ」とか言うやつの想像図
http://file.mootoko.blog.shinobi.jp/img20090813163317.jpg
0767nobodyさん2009/10/27(火) 19:35:56ID:???
お前の頭の程度だな、その絵は。
0768nobodyさん2009/10/28(水) 21:49:18ID:???
PHPを使ってブログでも作ってみようと思ってるけど、
アクセスやコメント書き込みが集中したときのための対策は何か必要?
大勢が閲覧したときに処理が重くならないようにするためには、サーバを2台にしたりするのかな。
それに、2人の人がまったく同時に書き込もうとしたらどうなるんだろ。

そもそも、どのくらい集中したら重くなるの?
1分間に100人とか?

詳しい人、どうぞ教えてください。
0769nobodyさん2009/10/28(水) 22:11:54ID:???
PHPで、
CLI版(コマンドライン版)で、
MS-DOSプロンプト上で動かすとき、
キーボードからの
入力を受け付けて、
文字列とか数値とかの
入力をキーボードから受け付けて、
変数で受け取るにはどうしたらいいの?
0770nobodyさん2009/10/28(水) 22:13:46ID:???
いつものようにWEBでやるんだったら、
フォームで
<input type="text" name="aaa">
とかってやって、
$bbb = $_POST['aaa'];

とかってやればいいんだけど、
これをMS-DOS上で
CLI版でやるのはどうしたらいいの?
0771nobodyさん2009/10/28(水) 22:16:23ID:???
>>770
PHP: PHP をコマンドラインから使用する - Manual
http://php.net/manual/ja/features.commandline.php

引数でいいなら$argvで取得できる
0772nobodyさん2009/10/28(水) 22:23:54ID:???
引数じゃない

キーボードから入力して
それを取得したい
0773nobodyさん2009/10/28(水) 22:23:57ID:???
>>770
<?php echo fgets(STDIN) ?>
0774nobodyさん2009/10/28(水) 22:25:54ID:???
>>772
じゃあこっちか

PHP: readline - Manual
http://www.php.net/manual/ja/function.readline.php
0775nobodyさん2009/10/28(水) 22:29:15ID:???
<?php
$line = trim(fgets(STDIN)); // STDIN から 1 行読み込む
print $line;
?>

なんかこれを実行すると
すげー改行されるんだけど、なんで?
0776nobodyさん2009/10/28(水) 22:32:09ID:???
>>774
なんかエラーになる
readlineは定義されてないって
0777nobodyさん2009/10/28(水) 22:33:01ID:???
#include <stdio.h>
int main(void)
{
  int counter=0;
  while(1){
    int c = getchar();
    if(c=='\n'){
      counter++;
    }
    system("clear");
    printf("counter:%d\n", counter);
  }
  return 0;
}

※windowsならsystem("cls");

ようはこれをやりたかった
だけなんだけど。
0778nobodyさん2009/10/28(水) 22:39:15ID:???
うちの環境(windows xp / php5.2.10)では
DOS窓で>>775を実行しても無駄な改行などはでてこないな
0779nobodyさん2009/10/28(水) 22:39:44ID:???
<?PHP

$c=0;
while(1){


$c = fgets(STDIN);

if($c=='\n'){
$c++;
}
system("cls");
print "counter:" . $c ."\n";
}

?>

だめだぁ〜
これだとなぜかうごかない〜
たすけてえろいひと〜
0780nobodyさん2009/10/28(水) 22:52:54ID:???
>>779
fgetsは改行を含む1行を読み込む関数だぞ
ttp://jp.php.net/manual/ja/function.fgets.php

<?php echo strlen(fgets(STDIN)) ?>
というスクリプトに対して、

qwertyと打って、リターンキー押すと、7が出力される
0781nobodyさん2009/10/28(水) 23:23:12ID:???
if文のチェックをはずしても
カウンターがカウントアップ
されないんです
0782nobodyさん2009/10/28(水) 23:24:50ID:???
<?PHP

$c=0;
while(1){


$a = fgets(STDIN);


$c++;

system("cls");
print "counter:" . $c ."\n";
}

?>

これでできた
だが一歩前進、といったところだ

なぜなら、カウントアップは
するようになったが、
clsが効いていない
0783nobodyさん2009/10/28(水) 23:51:28ID:???
PHPでDOSでCLSって
もしかして、できないの?

command.comのオプションとして
実行する、ってのが
ググったらでてきたが、
ソースをこぴぺして試してみたが、
消えなかったよ
0784nobodyさん2009/10/28(水) 23:52:17ID:???
それと、ググッたら、別のページでは、

PHPではCLSはできない
(CとC++ではできる)
ので、代わりにニューラインを30行
出力すればよい


って書いてあるが、そうなの?
0785nobodyさん2009/10/28(水) 23:54:42ID:???
<?PHP

$c=0;
while(1){


$a = fgets(STDIN);


$c++;

for($b=0;$b<40;$b++){
print "\n";

}

print "counter:" . $c ."\n";
}

?>


たしかに、これで、希望の動作に
近い物はできた。
だが、しかし、何かが違う。
やはりCLSのほうがいい。
CLSはどうやったら使えるんだ?
0786nobodyさん2009/10/29(木) 00:36:57ID:???
最近沸いてこないと思ったらまたお前か
0787nobodyさん2009/10/29(木) 00:37:53ID:???
<?PHP

$c=0;
while(1){


$a = fgets(STDIN);


$c++;
for($b=0;$b<40;$b++){
print "\n";
}


print "counter:" . $c ;

for($b=0;$b<24;$b++){
print "\n";
}


}

?>

これでかなり近いものができた
しかし画面のちらつきがある
CLSとまったく同等のものは
できないのか?
ていうか、なんでできないの?
0788nobodyさん2009/10/29(木) 00:38:37ID:???
>>786
自宅待機者は書き込むな
税金どろぼう
0789nobodyさん2009/10/29(木) 20:19:34ID:???
NGワードは何にすればいいですか?
0790nobodyさん2009/10/29(木) 20:46:34ID:???
DOSの意味を知らないせいだな。
コマンドプロンプトはcommand.comじゃないのにな。
0791nobodyさん2009/10/29(木) 20:52:55ID:???
男は黙ってESC[2J
0792nobodyさん2009/11/03(火) 18:29:33ID:???
ここって板全体が過疎なの?
0793nobodyさん2009/11/04(水) 01:01:06ID:???
>>792
そう。
PHPプログラマーって
犯罪者が多いから、
隔離板として作られた。
07947082009/11/05(木) 00:26:10ID:???
88のCLS 3の遅さに泣いた
0795nobodyさん2009/11/05(木) 01:07:53ID:???
規制中は平和だったが、解除されたとたんこれか。
0796nobodyさん2009/11/07(土) 01:42:56ID:???
web関係のことをひととおり身につけようとすると
HTMLとCSSとJavaScriptとPHPとCGIとFlashとJavaとSQLと……

どんだけ覚えさすねん!!

おまいらどうやって覚えた?
0797nobodyさん2009/11/07(土) 02:04:19ID:???
そりゃ正攻法で
■ このスレッドは過去ログ倉庫に格納されています