setkey( $key ); $auth = (string)rand( 1000, 9999 ); $rc4->crypt( $auth ); $auth = urlencode( $auth ); } // --- 書き込み処理 ------------------------------------------------------------ if ( $_POST['act'] == 'new' or $_POST['act'] == 'rep' ) { // --- エラー処理 ---------------------------------------------------------- //if ( $_POST['name'] == '' ) error( '名前が入力されていません' ); //if ( $_POST['subject'] == '' ) error( '件名が入力されていません' ); //if ( $_POST['delkey'] == '' ) error( '削除キーが入力されていません' ); if ( $_POST['delkey'] == '' ) $_POST['delkey'] = time(); // --- クッキー処理 -------------------------------------------------------- if ( $_POST['cookie'] == 'keep' ) { setcookie( 'name', $_POST['name'], time() + 365 * 24 * 3600 ); setcookie( 'email', $_POST['email'], time() + 365 * 24 * 3600 ); $_COOKIE['name'] = $_POST['name']; $_COOKIE['email'] = $_POST['email']; } else { setcookie( 'name' ); setcookie( 'email' ); $_COOKIE['name'] = ''; $_COOKIE['email'] = ''; } // --- CAPTCHA ------------------------------------------------------------- if ( $captcha ) { $charenge1 = urldecode( $_POST['charenge1'] ); $rc4 = new Crypt_RC4; $rc4->setkey( $key ); $rc4->decrypt( $charenge1 ); if ( $charenge1 != $charenge2 ) error( 'CAPTCHAテストに失敗しました' ); } // --- バックアップファイル作成 -------------------------------------------- if ( $backup ) if ( ! copy( $log_file, $backup_file ) ) error( 'バックアップファイルの作成に失敗しました' ); // --- 投稿IDの確保とテンポラリファイル名の生成 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ $time = time(); // --- ファイルアップロード ------------------------------------------------ if ( $_FILES['file']['size'] != 0 ) { $path_parts = pathinfo( $_FILES['file']['name'] ); $file_url = $img_dir . $time . '.' . strtolower( $path_parts['extension'] ); copy( $_FILES['file']['tmp_name'], $file_url ); } // 書き込み → 投稿ID<>親投稿ID<>ファイルへのURL<>削除キー<>名前<>メールアドレス<>リモートホスト<>表示用時間<>件名<>本文 $line = ''; $line .= $time . '<>'; $line .= $_POST['parent'] . '<>'; $line .= $file_url . '<>'; $line .= md5( $_POST['delkey'] ) . '<>'; $line .= htmlspecialchars( $_POST['name'] ) . '<>'; $line .= htmlspecialchars( $_POST['email'] ) . '<>'; $line .= $_SERVER['REMOTE_HOST'] . '<>'; $line .= date( 'Y年m月d日H時i分s秒', time() + $time_diff * 3600 ) . '<>'; $line .= ereg_replace( "\r\n|\r|\n", '
', htmlspecialchars( $_POST['subject'] ) ) . '<>'; $line .= ereg_replace( "\r\n|\r|\n", '
', htmlspecialchars( $_POST['body'] ) ); $line .= "\n"; if ( $_POST['act'] == 'new' ) { // --- 新規書き込み ---------------------------------------------------- if ( ! $fd_tmp = fopen( $tmp_file, 'a' ) ) error( 'テンポラリファイルのオープンに失敗しました' ); if ( fwrite( $fd_tmp, $line ) == FALSE ) error( 'ログファイルの書き込みに失敗しました' ); if ( ! $fd_log = fopen( $log_file, 'r' ) ) error( 'ログファイルのオープンに失敗しました' ); while ( ( $line = fgets( $fd_log, 8192 ) ) != FALSE ) fwrite( $fd_tmp, $line ); fclose( $fd_tmp ); fclose( $fd_log ); if ( ! rename( $tmp_file, $log_file ) ) error( 'ファイル名の変更に失敗しました' ); } else { // --- 返信 ------------------------------------------------------------ if ( ! $fd_log = fopen( $log_file, 'r' ) ) error( 'ログファイルのオープンに失敗しました' ); if ( ! $fd_tmp = fopen( $tmp_file, 'w' ) ) error( 'テンポラリファイルのオープンに失敗しました' ); while ( ( $line2 = fgets( $fd_log, 8192 ) ) != FALSE ) { list( $post_id, $parent, $file_url, $delkey, $name, $email, $remote_host, $date, $subject, $body ) = explode( '<>', $line2 ); if ( $post_id == $_POST['parent'] ) if ( fwrite( $fd_tmp, $line2 ) == FALSE ) error( 'テンポラリファイルへの書き込みに失敗しました' ); if ( $parent == $_POST['parent'] ) if ( fwrite( $fd_tmp, $line2 ) == FALSE ) error( 'テンポラリファイルへの書き込みに失敗しました' ); } // 投稿された記事の書き込み if ( fwrite( $fd_tmp, $line ) == FALSE ) error( 'テンポラリファイルへの書き込みに失敗しました' ); fclose( $fd_tmp ); fclose( $fd_log ); if ( ! $fd_log = fopen( $log_file, 'r' ) ) error( 'ログファイルのオープンに失敗しました' ); if ( ! $fd_tmp = fopen( $tmp_file, 'a' ) ) error( 'テンポラリファイルのオープンに失敗しました' ); while ( ( $line = fgets( $fd_log, 8192 ) ) != FALSE ) { list( $post_id, $parent, $file_url, $delkey, $name, $email, $remote_host, $date, $subject, $body ) = explode( '<>', $line ); if ( $post_id == $_POST['parent'] ) continue; if ( $parent == $_POST['parent'] ) continue; fwrite( $fd_tmp, $line ); } fclose( $fd_tmp ); fclose( $fd_log ); if ( ! rename( $tmp_file, $log_file ) ) error( 'ファイル名の変更に失敗しました' ); if ( ! chmod( $log_file, 0666 ) ) error( 'ログファイルのパーミッションの変更に失敗しました' ); } // --- RSSファイルの作成 --------------------------------------------------- mkrss(); } // --- 削除処理 ---------------------------------------------------------------- if ( $_POST['act'] == 'del' ) { if ( $backup ) if ( ! copy( $log_file, $backup_file ) ) error( 'バックアップファイルの作成に失敗しました' ); if ( $_POST['delkey'] == '' ) $_POST['delkey'] = time(); if ( ! $fd_log = fopen( $log_file, 'r' ) ) error( 'ログファイルのオープンに失敗しました' ); if ( ! $fd_tmp = fopen( $tmp_file, 'w' ) ) error( 'テンポラリファイルのオープンに失敗しました' ); $flag = TRUE; while ( ( $line = fgets( $fd_log, 8192 ) ) != FALSE ) { list( $post_id, $parent, $file_url, $delkey, $name, $email, $remote_host, $date, $subject, $body ) = explode( '<>', $line ); foreach ( $_POST['post_id'] as $value ) { if ( ( $post_id == $value or $parent == $value ) and $delkey == md5( $_POST['delkey'] ) ) $flag = FALSE; else $flag = TRUE; if ( ( $post_id == $value or $parent == $value ) and $passwd == $_POST['delkey'] ) $flag = FALSE; else $flag = TRUE; } if ( $flag ) fwrite( $fd_tmp, $line ); } fclose( $fd_tmp ); fclose( $fd_log ); if ( ! rename( $tmp_file, $log_file ) ) error( 'ファイル名の変更に失敗しました' ); if ( ! chmod( $log_file, 0666 ) ) error( 'ログファイルのパーミッションの変更に失敗しました' ); // RSSファイルの作成 mkrss(); } // --- 返信フォーム出力 -------------------------------------------------------- if ( $_GET['act'] == 'rep' ) { ?>

名前 必須
メール
件名
本文
CAPTCHA 画像の中の文字を入力してください(4文字)
削除キー 名前とメールアドレスを保存
[戻る] [終了]

以下の記事に返信します。

', $line ); if ( $post_id == $_GET['parent'] ) { if ( $file_url != '' ) { $path_parts = pathinfo( $file_url ); if ( $path_parts['extension'] == 'jpg' or $path_parts['extension'] == 'gif' or $path_parts['extension'] == 'png' ) { echo ""; } else { echo "$file_url"; } } echo "
\n"; echo "$subject
\n"; echo "投稿日 $date 投稿者 $name [$remote_host]\n"; echo "
$body
\n"; echo "
\n"; } if ( $parent == $_GET['parent'] ) { echo "
\n"; echo "$subject
\n"; echo "投稿日 $date 投稿者 $name [$remote_host]\n"; echo "
$body
\n"; echo "
\n"; } } ?>
imgbbs.php release
© 2006 TAKEDA Hiroyuki
エラーが発生しました

エラーが発生しました。



ブラウザのバックボタンで戻り、もう一度実行してみてください。 $title $reload_url $title ja ATASHI Networks, Inc. $date+0$time_diff:00 _EOT_; $fd_log = fopen( $log_file, 'r' ); while ( ( $line = fgets( $fd_log, 8192 ) ) != FALSE ) { if ( $n ++ >= $rss_rows ) break; list( $post_id, $parent, $file_url, $delkey, $name, $email, $remote_host, $date, $subject, $body ) = explode( '<>', $line ); $rdf .= "\n"; $rdf2 .= "\n"; $rdf2 .= "" . htmlspecialchars( $subject ) . "\n"; $rdf2 .= "$reload_url#$post_id\n"; $rdf2 .= "" . htmlspecialchars( $body ) . "\n"; $rdf2 .= "" . htmlspecialchars( $name ) . "\n"; $rdf2 .= "" . date( 'Y-m-d H:i:s', $post_id ) . "\n"; $rdf2 .= "\n"; } fclose( $fd_log ); $rdf .= <<<_EOT_ _EOT_; $rdf .= $rdf2 . "\n"; // $fd_rss = fopen( $rss_file, 'w' ); fwrite( $fd_rss, $rdf ); fclose( $fd_rss ); } ?>

名前 必須
メール
件名
本文
画像選択
CAPTCHA 画像の中の文字を入力してください(4文字)
削除キー 名前とメールアドレスを保存
[トップに戻る] [終了]
', $line ); if ( $parent != '' ) $m --; } // --- while ( ( $line = fgets( $fd_log, 8192 ) ) != FALSE ) { if ( $n >= $rows ) break; // --- ログの分解 ---------------------------------------------------------- list( $post_id, $parent, $file_url, $delkey, $name, $email, $remote_host, $date, $subject, $body ) = explode( '<>', $line ); // --- メールアドレスがあるなら名前にリンクを張る -------------------------- if ( $email != '' ) $name = "$name"; // --- もし親記事なら ------------------------------------------------------ if ( $parent == '' ) { echo "
\n"; $bgcolor="#FFFFFF"; $reply_link = "返信
"; $n ++; } else { $bgcolor="#EEEEEE"; $reply_link = ''; } // --- もし画像があるのなら -------------------------------------------- if ( $file_url != '' ) { $path_parts = pathinfo( $file_url ); if ( $path_parts['extension'] == 'jpg' or $path_parts['extension'] == 'gif' or $path_parts['extension'] == 'png' ) { echo ""; } else { echo "$file_url"; } } echo "
\n"; echo "\n"; echo "$subject
\n"; echo "投稿日 $date 投稿者 $name [$remote_host] $reply_link\n"; echo "
$body
\n"; echo "
\n"; } fclose( $fd_log ); ?>
= $rows ) { $prev = $page - $rows; ?> = $rows ) { $next = $page + $rows; ?>
削除キー 新着順 → 0
※ すべてのボタンは1回だけ押してしばらくお待ちください。
※ [削除]ボックスにチェックし、投稿時に設定した削除キーを入力してボタンを押せば削除できます。
※ 削除キーに管理者パスワードを入力すると任意の記事の削除が可能です。
imgbbs.php release
© 2006 TAKEDA Hiroyuki