# redirection/2.6.3/models/file-io.php

Redirection, version 2.6.3. 52 lines.

- Page: https://pluginprobe.com/plugins/redirection/2.6.3/code/models/file-io.php
- Raw: https://pluginprobe.com/plugins/redirection/2.6.3/raw/models/file-io.php
- Modified: 2017-05-27T13:13:38+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/redirection/2.6.3/code/models/file-io.php#L10-L20`.

```php
<?php

abstract class Red_FileIO {
	public $items = array();

	public static function create( $type ) {
		$exporter = false;

		if ( $type === 'rss' ) {
			include dirname( dirname( __FILE__ ) ).'/fileio/rss.php';
			$exporter = new Red_Rss_File();
		}
		elseif ( $type === 'csv' ) {
			include dirname( dirname( __FILE__ ) ).'/fileio/csv.php';
			$exporter = new Red_Csv_File();
		}
		elseif ( $type === 'apache' ) {
			include dirname( dirname( __FILE__ ) ).'/fileio/apache.php';
			$exporter = new Red_Apache_File();
		}
		elseif ( $type === 'nginx' ) {
			include dirname( dirname( __FILE__ ) ).'/fileio/nginx.php';
			$exporter = new Red_Nginx_File();
		}

		return $exporter;
	}

	public static function import( $group, $file ) {
		if ( is_uploaded_file( $file['tmp_name'] ) ) {
			$parts = pathinfo( $file['name'] );

			if ( isset( $parts['extension'] ) && $parts['extension'] === 'csv' ) {
				include dirname( dirname( __FILE__ ) ).'/fileio/csv.php';
				$importer = new Red_Csv_File();
				$data = '';
			} else {
				include dirname( dirname( __FILE__ ) ).'/fileio/apache.php';
				$importer = new Red_Apache_File();
				$data = @file_get_contents( $file['tmp_name'] );
			}

			return $importer->load( $group, $file['tmp_name'], $data );
		}

		return 0;
	}

	abstract function export( array $items );
	abstract function load( $group, $filename, $data );
}

```
