1
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" ); if ( $_GET['mime'] == '' ) { $_GET['mime'] = "application/octet-stream"; } if ( $_GET['target'] == '' ) { $_GET['target'] = "download.php"; } if ( $_GET['buffer'] == '' ) { $_GET['buffer'] = 4096; } $filename = basename( $_GET['target'] ); $path_parts = pathinfo($_GET['target']); $ext = strtolower( $path_parts['extension'] ); // 以下の拡張子を持つファイルはダウンロードできない // ( スペース区切りで指定:厳密にはファイル名に使用されない文字が良い ) $ext_out = 'php cgi'; header( "Content-Type: {$_GET['mime']}" ); header( "Content-Disposition: attachment; filename=\"$filename\""); if ( !strstr( $ext_out, $ext ) ) { $size = @filesize( $_GET['target'] ); if ( $size !== false ) { // php4 では、URL 指定のファイルはセットされないので // ダウンロード時のプログレスバーは表示されません。 // 未テストですが、仮に php5 の filesize が URL に対して処理されても // 時間がかかるようであれば、filesize を URL に対して処理すべき // ではありません。 header( "Content-Length: $size" ); } $fp = @fopen( $_GET['target'], 'rb' ); if ( $fp ) { while( TRUE ) { if ( feof( $fp ) ) { break; } $ret = fread( $fp, $_GET['buffer'] ); print $ret; } fclose( $fp ); } } else { header( "Content-Length: 35" ); print "拡張子 $ext はダウンロードできません"; } ?>
1
HTML テンプレート
php.iniをダウンロード
別のサーバーからダウンロード(SQLの窓 Build C++)