DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets has posted 5883 posts at DZone. View Full User Profile

PHPアップローダー RSS機能

02.15.2008
| 6038 views |
  • submit to reddit
        PHPアップローダー RSS機能

<?php
/**** PHPアップローダー RSS機能 ***
 * by â—†RTphpfqies
 ****/

  $title	= 'PHPアップローダー';
  $logfile	= "./log/upup.log";	//ログファイル名(変更する事)
  $updir 	= "./log/";	//アップ用ディレクトリ(変更する場合は、35.48.50行も変更)
  $prefix	= '';		//接頭語(up001.txt,up002.jpgならup)
  $page_def	= 20;		//RSSの表示行数


function FormatByte($size){//バイトのフォーマット(B→kB)
  if($size == 0)			$format = "";
  else if($size <= 1024)		$format = $size."B";
  else if($size <= (1024*1024))		$format = sprintf ("%dKB",($size/1024));
  else if($size <= (10*1024*1024))	$format = sprintf ("%.2fMB",($size/(1024*1024)));
  else					$format = $size."B";

  return $format;
}

error_reporting(0);
$base_dir = 'http://'.$_SERVER['HTTP_HOST'].str_replace('\\','/', dirname($_SERVER['SCRIPT_NAME'])); if(substr($base_dir,-1) != '/') $base_dir .= '/'; // URL
	header('Content-Type: text/xml;charset=shift-jis');
echo'<?xml version="1.0" encoding="shift-jis"?>
<rss version="2.0">
<channel>
<title>'.$title.'</title>
<link>'.$base_dir.'</link>
<description>'.$title.'</description>
<language>ja</language>
<generator>PHPアップローダー RSS機能</generator>';

$lines = file($logfile);
for($i = 0; $i < $page_def; $i++){
  if($lines[$i]=="") continue;
  list($id,$ext,$com,$host,$now,$size,$mtype,$pas,$orig,)=explode("\t",$lines[$i]);
  $fsize = FormatByte($size);

  $filename = $prefix.$id.".$ext";
  $target = $updir.$filename;

  echo '<item>
	<title>'.$filename.' - '.$orig.' ('.$fsize.')</title>
	<link>'.$base_dir.$target.'</link>
	<description>
	<![CDATA[
'.$com.'
	]]>
	</description>
	<pubDate>'.$now.'</pubDate>
</item>
';
  }
echo '</channel>
</rss>';