/* * Plugin Name: APCu Object Cache * Description: APCu backend for the WP Object Cache. * Based on Plugin named APCu Object Cache Backend * Plugin URI: https://wordpress.org/plugins/apcu/ * Author: Pierre Schmitz * Author URI: https://pierre-schmitz.com/ * Plugin URI: https://wordpress.org/plugins/apcu/ * * * @Authors James Dugger, Jonathan Bardo * @copyright 2017 GoDaddy Inc. 14455 N. Hayden Road Scottsdale, Arizona */ $oc_logged_in = false; foreach ( $_COOKIE as $k => $v ) { if ( preg_match( '/^comment_author|wordpress_logged_in_[a-f0-9]+|woocommerce_items_in_cart|PHPSESSID_|edd_wp_session|edd_items_in_cartcc_cart_key|ccm_token/', $k ) ) { $oc_logged_in = true; break; } } $oc_blocked_page = ( defined( 'WP_ADMIN' ) || defined( 'DOING_AJAX' ) || defined( 'XMLRPC_REQUEST' ) || 'wp-login.php' === basename( $_SERVER['SCRIPT_FILENAME'] ) ); function wpaas_is_using_apcu() { return version_compare( PHP_VERSION, '5.6.0', '>=' ) && function_exists( 'apcu_fetch' ); } if ( 'cli' !== php_sapi_name() && ! $oc_logged_in && ! $oc_blocked_page && wpaas_is_using_apcu() ) : /** * Save the transients to the DB. The explanation is a bit too long * for code. The tl;dr of it is that we don't have a single 'fast cache' * source yet (like memcached) and so some long lived items like transients * are still best cached in the db and then brought back into APC * * @param string $transient * @param mixed $value * @param int $expire * @param boolean $site = false * * @return bool */ function wpaas_save_transient( $transient, $value, $expire, $site = false ) { global $wp_object_cache, $wpdb; // The 'special' transient option names $transient_timeout = ( $site ? '_site' : '' ) . '_transient_timeout_' . $transient; $transient = ( $site ? '_site' : '' ) . '_transient_' . $transient; // Cap expiration at 24 hours to avoid littering the DB if ( $expire == 0 ) { $expire = 24 * 60 * 60; } // Save to object cache $wp_object_cache->set( $transient, $value, 'options', $expire ); $wp_object_cache->set( $transient_timeout, time() + $expire, 'options', $expire ); // Update alloptions $alloptions = $wp_object_cache->get( 'alloptions', 'options' ); $alloptions[ $transient ] = $value; $alloptions[ $transient_timeout ] = time() + $expire; $wp_object_cache->set( 'alloptions', $alloptions, 'options' ); // Use the normal update option logic if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); if ( $site && is_multisite() ) { $wpdb->query( $wpdb->prepare( "INSERT INTO `{$wpdb->sitemeta}` ( `option_name`, `option_value`, `autoload` ) VALUES ( %s, UNIX_TIMESTAMP( NOW() ) + %d, 'yes' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );", $transient_timeout, $expire ) ); $wpdb->query( $wpdb->prepare( "INSERT INTO `{$wpdb->sitemeta}` ( `option_name`, `option_value`, `autoload` ) VALUES ( %s, %s, 'no' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );", $transient, maybe_serialize( $value ) ) ); } else { $wpdb->query( $wpdb->prepare( "INSERT INTO `{$wpdb->options}` (`option_name`, `option_value`, `autoload`) VALUES ( %s, UNIX_TIMESTAMP( NOW() ) + %d, 'yes' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );", $transient_timeout, $expire ) ); $wpdb->query( $wpdb->prepare( "INSERT INTO `{$wpdb->options}` (`option_name`, `option_value`, `autoload`) VALUES ( %s, %s, 'no' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );", $transient, maybe_serialize( $value ) ) ); } $wpdb->suppress_errors( $flag ); } return true; } function wpaas_prune_transients() { global $wpdb; if ( ! empty( $wpdb ) && $wpdb instanceof wpdb && function_exists( 'is_main_site' ) && function_exists( 'is_main_network' ) ) { $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); // Lifted straight from schema.php // Deletes all expired transients. // The multi-table delete syntax is used to delete the transient record from table a, // and the corresponding transient_timeout record from table b. $time = time(); $wpdb->query( "DELETE a, b FROM $wpdb->options a, $wpdb->options b WHERE a.option_name LIKE '\_transient\_%' AND a.option_name NOT LIKE '\_transient\_timeout\_%' AND b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, 12 ) ) AND b.option_value < $time" ); if ( is_main_site() && is_main_network() ) { $wpdb->query( "DELETE a, b FROM $wpdb->options a, $wpdb->options b WHERE a.option_name LIKE '\_site\_transient\_%' AND a.option_name NOT LIKE '\_site\_transient\_timeout\_%' AND b.option_name = CONCAT( '_site_transient_timeout_', SUBSTRING( a.option_name, 17 ) ) AND b.option_value < $time" ); } $wpdb->suppress_errors( $flag ); } } /** * If another cache was flushed or updated, sync across all servers / processes using * the database as the authority. This uses the database as the authority for timestamps * as well to avoid drift between servers. * @return void */ function wpaas_init_sync_cache() { global $wpdb; if ( empty( $wpdb ) || ! ( $wpdb instanceof wpdb ) ) { return; } $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $result = $wpdb->get_results( "SELECT option_name, option_value FROM `{$wpdb->options}` WHERE option_name = 'gd_system_last_cache_flush' UNION SELECT 'current_time', UNIX_TIMESTAMP( NOW() ) AS option_value;", ARRAY_A ); $wpdb->suppress_errors( $flag ); if ( empty( $result ) ) { return; } $master_flush = false; foreach ( $result as $row ) { switch ( $row['option_name'] ) { case 'current_time' : $current_time = $row['option_value']; break; case 'gd_system_last_cache_flush' : $master_flush = $row['option_value']; break; } } $local_flush = wp_cache_get( 'gd_system_last_cache_flush' ); if ( false === $local_flush || $local_flush < $master_flush ) { wp_cache_flush( true ); wp_cache_set( 'gd_system_last_cache_flush', $current_time ); } } /** * Start default implementation of object cache */ if ( ! defined( 'WP_APC_KEY_SALT' ) ) { define( 'WP_APC_KEY_SALT', '' ); } function wp_cache_add( $key, $data, $group = '', $expire = 0 ) { global $wp_object_cache; if ( 'transient' == $group ) { wpaas_save_transient( $key, $data, $expire ); return $wp_object_cache->add( "_transient_$key", $data, 'options', $expire ); } elseif ( 'site-transient' == $group ) { wpaas_save_transient( $key, $data, $expire, true ); return $wp_object_cache->add( "_site_transient_$key", $data, 'site-options', $expire ); } else { return $wp_object_cache->add( $key, $data, $group, $expire ); } } function wp_cache_incr( $key, $n = 1, $group = '' ) { global $wp_object_cache; return $wp_object_cache->incr2( $key, $n, $group ); } function wp_cache_decr( $key, $n = 1, $group = '' ) { global $wp_object_cache; return $wp_object_cache->decr( $key, $n, $group ); } function wp_cache_close() { return true; } function wp_cache_delete( $key, $group = '' ) { global $wp_object_cache, $wpdb; if ( 'transient' == $group ) { if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $wpdb->query( $wpdb->prepare( "DELETE FROM `{$wpdb->prefix}options` WHERE option_name IN ( %s, %s );", "_transient_{$key}", "_transient_timeout_{$key}" ) ); $wpdb->suppress_errors( $flag ); } $wp_object_cache->delete( "_transient_timeout_$key", 'options' ); // Update alloptions $alloptions = $wp_object_cache->get( 'alloptions', 'options' ); unset( $alloptions["_transient_$key"] ); unset( $alloptions["_transient_timeout_$key"] ); $wp_object_cache->set( 'alloptions', $alloptions, 'options' ); return $wp_object_cache->delete( "_transient_$key", 'options' ); } elseif ( 'site-transient' == $group ) { if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $table = $wpdb->options; if ( is_multisite() ) { $table = $wpdb->sitemeta; } $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $wpdb->query( $wpdb->prepare( "DELETE FROM `{$table}` WHERE option_name IN ( %s, %s );", "_transient_{$key}", "_transient_timeout_{$key}" ) ); $wpdb->suppress_errors( $flag ); } $wp_object_cache->delete( "_transient_timeout_$key", 'site-options' ); // Update alloptions $alloptions = $wp_object_cache->get( 'alloptions', 'options' ); unset( $alloptions["_site_transient_$key"] ); unset( $alloptions["_site_transient_timeout_$key"] ); $wp_object_cache->set( 'alloptions', $alloptions, 'options' ); return $wp_object_cache->delete( "_site_transient_$key", 'site-options' ); } return $wp_object_cache->delete( $key, $group ); } function wp_cache_flush( $local_flush = false ) { global $wp_object_cache, $wpdb; if ( ! $local_flush ) { if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $wpdb->query( "INSERT INTO `{$wpdb->options}` (`option_name`, `option_value`, `autoload`) VALUES ( 'gd_system_last_cache_flush', UNIX_TIMESTAMP( NOW() ), 'no' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );" ); $wpdb->suppress_errors( $flag ); } } return $wp_object_cache->flush(); } function wp_cache_get( $key, $group = '', $force = false ) { global $wp_object_cache, $wpdb; if ( 'transient' == $group ) { $alloptions = $wp_object_cache->get( 'alloptions', 'options' ); if ( isset( $alloptions["_transient_$key"] ) && isset( $alloptions["_transient_timeout_$key"] ) && $alloptions["_transient_timeout_$key"] > time() ) { return maybe_unserialize( $alloptions["_transient_$key"] ); } $transient = $wp_object_cache->get( "_transient_$key", 'options', $force ); $timeout = $wp_object_cache->get( "_transient_timeout_$key", 'options', $force ); if ( false !== $transient && ! empty( $timeout ) && $timeout > time() ) { return maybe_unserialize( $transient ); } if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $result = $wpdb->get_results( $wpdb->prepare( "SELECT option_name, option_value FROM `{$wpdb->options}` WHERE option_name IN ( %s, %s ) UNION SELECT 'current_time', UNIX_TIMESTAMP( NOW() ) AS option_value;", "_transient_{$key}", "_transient_timeout_{$key}" ), ARRAY_A ); $wpdb->suppress_errors( $flag ); if ( ! empty( $result ) ) { $transient = false; $timeout = false; $current_time = time(); foreach ( $result as $row ) { switch ( $row['option_name'] ) { case "_transient_$key" : $transient = $row['option_value']; break; case "_transient_timeout_$key" : $timeout = $row['option_value']; break; case 'current_time' : $current_time = $row['option_value']; break; } } if ( false !== $transient && ! empty( $timeout ) && $timeout > $current_time ) { return maybe_unserialize( $transient ); } } } return false; } elseif ( 'site-transient' == $group ) { $transient = $wp_object_cache->get( "_site_transient_$key", 'options', $force ); $timeout = $wp_object_cache->get( "_site_transient_timeout_$key", 'options', $force ); if ( false !== $transient && ! empty( $timeout ) && $timeout > time() ) { return maybe_unserialize( $transient ); } if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $table = $wpdb->options; if ( is_multisite() ) { $table = $wpdb->sitemeta; } $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $result = $wpdb->get_results( $wpdb->prepare( "SELECT option_name, option_value FROM `{$table}` WHERE option_name IN ( %s, %s ) UNION SELECT 'current_time', UNIX_TIMESTAMP( NOW() ) AS option_value;", "_site_transient_{$key}", "_site_transient_timeout_{$key}" ), ARRAY_A ); $wpdb->suppress_errors( $flag ); if ( ! empty( $result ) ) { $transient = false; $timeout = false; $current_time = time(); foreach ( $result as $row ) { switch ( $row['option_name'] ) { case "_site_transient_$key" : $transient = $row['option_value']; break; case "_site_transient_timeout_$key" : $timeout = $row['option_value']; break; case 'current_time' : $current_time = $row['option_value']; break; } } if ( false !== $transient && ! empty( $timeout ) && $timeout > $current_time ) { return maybe_unserialize( $transient ); } } } return false; } else { return $wp_object_cache->get( $key, $group, $force ); } } function wp_cache_init() { global $wp_object_cache; if ( mt_rand( 1, 100 ) == 42 ) { wpaas_prune_transients(); } add_action( 'muplugins_loaded', 'wpaas_init_sync_cache' ); $wp_object_cache = new APCu_Object_Cache(); } function wp_cache_replace( $key, $data, $group = '', $expire = 0 ) { global $wp_object_cache; return $wp_object_cache->replace( $key, $data, $group, $expire ); } function wp_cache_set( $key, $data, $group = '', $expire = 0 ) { global $wp_object_cache; if ( defined( 'WP_INSTALLING' ) == false ) { if ( 'transient' == $group ) { return wpaas_save_transient( $key, $data, $expire ); } elseif ( 'site-transient' == $group ) { return wpaas_save_transient( $key, $data, $expire, true ); } else { return $wp_object_cache->set( $key, $data, $group, $expire ); } } else { return $wp_object_cache->delete( $key, $group ); } } function wp_cache_switch_to_blog( $blog_id ) { global $wp_object_cache; return $wp_object_cache->switch_to_blog( $blog_id ); } function wp_cache_add_global_groups( $groups ) { global $wp_object_cache; $wp_object_cache->add_global_groups( $groups ); } function wp_cache_add_non_persistent_groups( $groups ) { global $wp_object_cache; $wp_object_cache->add_non_persistent_groups( $groups ); } class GD_APCu_Object_Cache { private $prefix = ''; private $local_cache = array(); private $global_groups = array(); private $non_persistent_groups = array(); private $multisite = false; private $blog_prefix = ''; public function __construct() { global $table_prefix; $this->multisite = is_multisite(); $this->blog_prefix = $this->multisite ? get_current_blog_id() . ':' : ''; $this->prefix = DB_HOST . '.' . DB_NAME . '.' . $table_prefix; } private function get_group( $group ) { return empty( $group ) ? 'default' : $group; } private function get_key( $group, $key ) { if ( $this->multisite && ! isset( $this->global_groups[ $group ] ) ) { return $this->prefix . '.' . $group . '.' . $this->blog_prefix . ':' . $key; } else { return $this->prefix . '.' . $group . '.' . $key; } } public function add( $key, $data, $group = 'default', $expire = 0 ) { $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( function_exists( 'wp_suspend_cache_addition' ) && wp_suspend_cache_addition() ) { return false; } if ( isset( $this->local_cache[ $group ][ $key ] ) ) { return false; } // FIXME: Somehow apcu_add does not return false if key already exists if ( ! isset( $this->non_persistent_groups[ $group ] ) && apcu_exists( $key ) ) { return false; } if ( is_object( $data ) ) { $this->local_cache[ $group ][ $key ] = clone $data; } else { $this->local_cache[ $group ][ $key ] = $data; } if ( ! isset( $this->non_persistent_groups[ $group ] ) ) { return apcu_add( $key, $data, (int) $expire ); } return true; } public function add_global_groups( $groups ) { if ( is_array( $groups ) ) { foreach ( $groups as $group ) { $this->global_groups[ $group ] = true; } } else { $this->global_groups[ $groups ] = true; } } public function add_non_persistent_groups( $groups ) { if ( is_array( $groups ) ) { foreach ( $groups as $group ) { $this->non_persistent_groups[ $group ] = true; } } else { $this->non_persistent_groups[ $groups ] = true; } } public function decr( $key, $offset = 1, $group = 'default' ) { if ( $offset < 0 ) { return $this->incr( $key, abs( $offset ), $group ); } $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( isset( $this->local_cache[ $group ][ $key ] ) && $this->local_cache[ $group ][ $key ] - $offset >= 0 ) { $this->local_cache[ $group ][ $key ] -= $offset; } else { $this->local_cache[ $group ][ $key ] = 0; } if ( isset( $this->non_persistent_groups[ $group ] ) ) { return $this->local_cache[ $group ][ $key ]; } else { $value = apcu_dec( $key, $offset ); if ( $value < 0 ) { apcu_store( $key, 0 ); return 0; } return $value; } } public function delete( $key, $group = 'default', $force = false ) { $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); unset( $this->local_cache[ $group ][ $key ] ); if ( ! isset( $this->non_persistent_groups[ $group ] ) ) { return apcu_delete( $key ); } return true; } public function flush() { $this->local_cache = array(); // TODO: only clear our own entries apcu_clear_cache(); return true; } public function get( $key, $group = 'default', $force = false, &$found = null ) { $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( ! $force && isset( $this->local_cache[ $group ][ $key ] ) ) { $found = true; if ( is_object( $this->local_cache[ $group ][ $key ] ) ) { return clone $this->local_cache[ $group ][ $key ]; } else { return $this->local_cache[ $group ][ $key ]; } } elseif ( isset( $this->non_persistent_groups[ $group ] ) ) { $found = false; return false; } else { $value = @apcu_fetch( $key, $found ); if ( $found ) { if ( $force ) { $this->local_cache[ $group ][ $key ] = $value; } return $value; } else { return false; } } } public function incr2( $key, $offset = 1, $group = 'default' ) { if ( $offset < 0 ) { return $this->decr( $key, abs( $offset ), $group ); } $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( isset( $this->local_cache[ $group ][ $key ] ) && $this->local_cache[ $group ][ $key ] + $offset >= 0 ) { $this->local_cache[ $group ][ $key ] += $offset; } else { $this->local_cache[ $group ][ $key ] = 0; } if ( isset( $this->non_persistent_groups[ $group ] ) ) { return $this->local_cache[ $group ][ $key ]; } else if ( function_exists( 'apcu_inc' ) ) { $value = apcu_inc( $key, $offset ); if ( $value < 0 ) { apcu_store( $key, 0 ); return 0; } return $value; } return false; } public function replace( $key, $data, $group = 'default', $expire = 0 ) { $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( isset( $this->non_persistent_groups[ $group ] ) ) { if ( ! isset( $this->local_cache[ $group ][ $key ] ) ) { return false; } } else { if ( ! isset( $this->local_cache[ $group ][ $key ] ) && ! apcu_exists( $key ) ) { return false; } apcu_store( $key, $data, (int) $expire ); } if ( is_object( $data ) ) { $this->local_cache[ $group ][ $key ] = clone $data; } else { $this->local_cache[ $group ][ $key ] = $data; } return true; } public function reset() { // This function is deprecated as of WordPress 3.5 // Be safe and flush the cache if this function is still used $this->flush(); } public function set( $key, $data, $group = 'default', $expire = 0 ) { $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( is_object( $data ) ) { $this->local_cache[ $group ][ $key ] = clone $data; } else { $this->local_cache[ $group ][ $key ] = $data; } if ( ! isset( $this->non_persistent_groups[ $group ] ) ) { return apcu_store( $key, $data, (int) $expire ); } return true; } public function stats() { // Only implemented because the default cache class provides this. // This method is never called. echo ''; } public function switch_to_blog( $blog_id ) { $this->blog_prefix = $this->multisite ? $blog_id . ':' : ''; } } if ( function_exists( 'apcu_inc' ) ) { class APCu_Object_Cache extends GD_APCu_Object_Cache { function incr( $key, $offset = 1, $group = 'default' ) { return parent::incr2( $key, $offset, $group ); } } } else { class APCu_Object_Cache extends GD_APCu_Object_Cache { // Blank } } endif;
Warning: Cannot modify header information - headers already sent by (output started at /usr/hosting/oldpics.net/html/wp-content/object-cache.php:1) in /usr/hosting/oldpics.net/html/wp-includes/rest-api/class-wp-rest-server.php on line 1713

Warning: Cannot modify header information - headers already sent by (output started at /usr/hosting/oldpics.net/html/wp-content/object-cache.php:1) in /usr/hosting/oldpics.net/html/wp-includes/rest-api/class-wp-rest-server.php on line 1713

Warning: Cannot modify header information - headers already sent by (output started at /usr/hosting/oldpics.net/html/wp-content/object-cache.php:1) in /usr/hosting/oldpics.net/html/wp-includes/rest-api/class-wp-rest-server.php on line 1713

Warning: Cannot modify header information - headers already sent by (output started at /usr/hosting/oldpics.net/html/wp-content/object-cache.php:1) in /usr/hosting/oldpics.net/html/wp-includes/rest-api/class-wp-rest-server.php on line 1713

Warning: Cannot modify header information - headers already sent by (output started at /usr/hosting/oldpics.net/html/wp-content/object-cache.php:1) in /usr/hosting/oldpics.net/html/wp-includes/rest-api/class-wp-rest-server.php on line 1713

Warning: Cannot modify header information - headers already sent by (output started at /usr/hosting/oldpics.net/html/wp-content/object-cache.php:1) in /usr/hosting/oldpics.net/html/wp-includes/rest-api/class-wp-rest-server.php on line 1713

Warning: Cannot modify header information - headers already sent by (output started at /usr/hosting/oldpics.net/html/wp-content/object-cache.php:1) in /usr/hosting/oldpics.net/html/wp-includes/rest-api/class-wp-rest-server.php on line 1713

Warning: Cannot modify header information - headers already sent by (output started at /usr/hosting/oldpics.net/html/wp-content/object-cache.php:1) in /usr/hosting/oldpics.net/html/wp-includes/rest-api/class-wp-rest-server.php on line 1713
{"id":5639,"date":"2020-09-25T11:56:55","date_gmt":"2020-09-25T09:56:55","guid":{"rendered":"https:\/\/oldpics.net\/?p=5639"},"modified":"2020-09-25T16:15:40","modified_gmt":"2020-09-25T14:15:40","slug":"50-amazing-and-bizarre-photos","status":"publish","type":"post","link":"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/","title":{"rendered":"50 amazing and bizarre photos\u00a0"},"content":{"rendered":"\n

\"bizarreOld bizarre photos publication is always a special thing for an Oldpics editor. It\u2019s not that easy to select and categorize properly noteworthy pictures. How should you arrange for them? By photographer’s name, subject, time frame, location, and so on. But sometimes unexpected help comes! Like Rob Moorees, who archived the notable and bizarre photos for decades. His selection criteria seem to be \u2018the stranger, the better.\u2019<\/span><\/p>\n

His bizarre photos selection features both a photo of Hitler in Tyrolean shorts, a dinner for soldiers with crippled faces, and a married American nine-year-old girl with her twenty-two-year-old guy.\u00a0<\/span><\/p>\n

Most of these bizarre photos are documentary, but they grab the attention of the casual viewer.<\/span><\/p>\n

Unforgettable archive photos<\/h3>\n

Rob Moorees describes the origin of his collection as follows. He was called to digitize the large Dutch archive “Spaarnestad” located on the outskirts of Amsterdam. As he was finding more and more amazing and bizarre photos in the archive, Rob as permission to separate them from the rest. As a result, the researcher saved up an impressive amount of unusual photos on his laptop and began to publish them on the Internet and specialized magazines.<\/span><\/p>\n

Rob even organized few exhibitions and printed a photo album titled \u201cLife is a strange thing.\u201d Moorees emphasizes that he deliberately did not categorize his bizarre photos according to any criteria. He wants each of the photographs in his archive to be not just part of a series or a thematic collection, but to have an inherent personality and self-worth in the photo. This effect is enhanced because most of the photographs in the archive belong to unknown photographers. Muris compares this situation with the works of the great artists of the past. We don\u2019t remember anything about them but their paintings, their masterpieces, their vision of the world\u2026<\/span><\/p>\n

Read more:\u00a0100 most important pictures in history<\/a><\/h3>\n
\"A

A circus performer in an aquarium car with crocodiles, Berlin, 1933<\/p><\/div>\n

\"An

An iron man of the past in a diving suit. The suit’s name was ‘Iron man’ too. It had an electric charging and pressure protection systems. New York, 1907<\/p><\/div>\n

Here are some more bizarre diving suits from the past: It`s not a robot, it was a diving suit in 1911<\/a><\/p>\n

\"Charles

Charles Godefroy flies through the Arc de Triomphe in Paris. The height of the opening is 29.42 m, the width is 14.62 m. The wingspan of the aircraft is 9 meters wide, 1919<\/p><\/div>\n

\"Bizarre

A visitor with a candle in her hand smiles at the large collection of skulls in the catacombs of Paris. 1935<\/p><\/div>\n

\"\"

A crowd watching a British airship fly over the port of Ostend during WWI, 1914<\/p><\/div>\n

See more:\u00a0WWI German submarine on the beach<\/a>.<\/h3>\n
\"Actor

Actor Johnny Ick, who was born with an underdeveloped lower torso, poses for a promotional photo for the famous movie ‘Freaks,’ 1932<\/p><\/div>\n

\"Bizarre

Blind WWI Veteran’s marriage, 1921<\/p><\/div>\n

\"Bizarre

Women learn to shoot in prison on Roosevelt Island, New York, 1932<\/p><\/div>\n

\"Welsh

Welsh spiritualist Colin Evans feigns levitation by jumping up and down in total darkness and filming himself with an infrared camera. London, 1939<\/p><\/div>\n

\"Untitled

Untitled<\/p><\/div>\n

\"Tower

Tower of Babel from the Old Testament. A. Frankl, 1927<\/p><\/div>\n

\"Bizarre

Unknown author<\/p><\/div>\n

\"Bizarre

Boren city citizens await the appearance of the Virgin Mary at the viaduct, not far from the Christian school, where children allegedly observed her the day before. Belgium, 1933<\/p><\/div>\n

\"The

The telepath tries to hypnotize the chimpanzee, 1941<\/p><\/div>\n

\"Bizarre

The tactical trick of soldiers during the Mexican Revolution, 1913<\/p><\/div>\n

\"atomic

The house at the training ground where the US Army conducted experiments on the use of nuclear weapons. Mannequins, 1954 play the role of humans<\/p><\/div>\n

\"Soviet

Soviet cryptographer Igor Guzenko, 1945. In this photo, he hid his face for an interview with Soul Pett from the Associated Press. Guzenko worked at the Soviet embassy in Ottawa and fled to the West in 1945. He brought more than a hundred classified documents and information from the Soviet spy network in Canada; 29 spies were arrested and convicted afterwards. Guzenko received an impressive reward, a mansion, and political asylum.<\/span><\/p><\/div>\n

\"Soldiers

Soldiers of the British Royal Horse Artillery on pack horses. The animals turned out to be so obedient that they allowed the soldiers to perform tricks like these, 1915<\/p><\/div>\n

Read more:\u00a0German WWI submarine UB122 that spent 92 years underwater<\/a><\/h3>\n
\"Robert

Robert Kennedy and West Berlin Mayor Willie Brandt look through the Berlin Wall, February 22, 1962<\/p><\/div>\n

\"Unknown

Photographer unknown<\/p><\/div>\n

\"Newborn

Newborn mutant rabbit with one head, endowed with two bodies. 1941<\/p><\/div>\n

\"Bizarre

Military training at Eton. Since then, the uniform of the students of the elite educational institution has changed little; only the top hats were canceled, 1915<\/p><\/div>\n

\"Bizarre

KKK’s members drive around Miami in robes and, with a noose, convince African Americans to abstain from voting in elections. Miami, 1939<\/p><\/div>\n

\"Marcia

Marcia Pinkenfield, six months old, who won a very unusual competition and was chosen as the most beautiful child in America, 1927<\/p><\/div>\n

\"A

A real Malibu Lifeguard. Richard Tide sleeps a girl who was washed into the ocean by a wave<\/p><\/div>\n

\"Italian

Italian traveler Attilio Gatti with two hired pygmies and a gorilla caught by them in the Belgian Congo, 1930<\/p><\/div>\n

\"Bizarre

Exercises at the Sint Willibrordus mental hospital. Netherlands, Henk Blansjaar, 14 February 1956<\/p><\/div>\n

\"Bizarre

Girl and orangutan. Indonesia, J.A. Dinkel, early 20th century<\/p><\/div>\n

\"Funeral

Funeral of legendary cyclist Fausto Coppi, who contracted malaria during an African safari. The 1960 year<\/p><\/div>\n

\"Bizarre

Bizarre photos of a French soldier during WWI in a suit (breastplate and helmet), 1915 year<\/p><\/div>\n

Read more:\u00a0WWI Christmas truce in 1914: pictures and facts<\/a>.<\/h3>\n
\"An

An accident on track during a 6-day bike race at the Madison Square Cycle Track. New York, 1913<\/p><\/div>\n

\"Faces

Faces of war. A banquet for French soldiers who received grievous injuries during WWI, Henri Manuel, Paris, 1925.<\/p><\/div>\n

\"Expiration

The expiration date has passed. Billy, the elephant at the Los Angeles Zoo, was shot. Old elephants can become uncontrollable, and the zoo staff decided to protect themselves. 1939<\/p><\/div>\n

\"Execution

Execution of terrorists who staged an explosion in the Cathedral of Holy Week in Bulgaria, killing more than 200 people died,<\/p><\/div>\n

\"Bizarre

Bizarre photos of the Ethiopian thief catcher. After drinking a stimulating mix of unknown ingredients, the priest throws a rope over the plaintiff and guides him, closing his eyes, to the alleged culprit. The 1929 year<\/p><\/div>\n

\"Bizarre

Bizarre disguise photos. Dutch tanks disguised in flowers, shortly before the German invasion. May 5, 1940<\/p><\/div>\n

Read more:\u00a0Bizarre WW2 photos<\/a><\/h3>\n
\"Dr.

Dr. Heinz makes an injection of fluids taken from a live hare to a person, which, together with ultraviolet radiation and gymnastics, should lead to rejuvenation. Berlin, 1925<\/p><\/div>\n

Read more:\u00a0All Pulitzer Prize photos (1942-1967)<\/a><\/h3>\n
\"Disguise

Disguise of British military equipment as elephants, India, WWII<\/p><\/div>\n

\"Daughter

Daughter of the German movie star Marlene Dietrich, starring in the film The Slutty Empress directed by Joseph von Sternberg with her mother. Hollywood, 1934<\/p><\/div>\n

\"Charles

Charles Jones, 22, is reading to his underage fiance\u0301e, Eunice Winstead, nine years old. Their wedding was approved in Tennessee, but not accepted in the rest of the United States. 1937<\/p><\/div>\n

\"John

John Russell’s band warming the public before the Beatles’ performance, 1964<\/p><\/div>\n

\"An

An American lawyer, who wants to remain anonymous, reads out his testimony on investigating a financial fraud case. Ohio, 1933<\/p><\/div>\n

\"bizarre

Adolf Hitler in the national trousers of the Tyroleans and Bavarians called lederhosen. It was a campaign photo to gain more popularity in the Southern regions of Germany, June 12, 1927<\/p><\/div>\n

\"A

A WWI postcard. A German looking at Notre Dame through binoculars is threatened with a saber by the ghost of Napoleon.<\/p><\/div>\n

Check out more\u00a0US WWI propaganda posters<\/a>.<\/h3>\n
\"American

American singer Al Johnson, portraying a black man on the set of the movie Bar of Wonders. The 1934 year<\/p><\/div>\n

\"Bizarre

A hypnotized person, frozen at attention, lies in an extremely uncomfortable position. 1932<\/p><\/div>\n

\"A

A man drags a snake that has just had a hearty breakfast. 1941<\/p><\/div>\n

\"Bizarre

A Hungarian engineer Stefan Nailed near the machine he invented supposedly made people and inanimate objects invisible. 1935<\/p><\/div>\n

\"Bizarre

A folding car designed by a German engineer. When assembled, it could drive at 45 KmPh, 1929 year<\/p><\/div>\n

\"8-year-old

8-year-old Freddie McIntosh in a sun protection suit. The boy’s skin is very sensitive to daylight due to illness.<\/p><\/div>\n

Bizarre photos from the soviet parade of the 1920s and 1930s<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"

Old bizarre photos publication is always a special thing for an Oldpics editor. It\u2019s not that easy to select and categorize properly…<\/p>\n","protected":false},"author":3,"featured_media":5691,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[39,50,191,145,74],"yoast_head":"\n50 amazing and bizarre photos\u00a0 - Old Pictures<\/title>\n<meta name=\"description\" content=\"50 unseen and amazing bizarre photos from the past. Unforgetable and sometimes creepy pictures from the various EU archives.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"50 amazing and bizarre photos\u00a0 - Old Pictures\" \/>\n<meta property=\"og:description\" content=\"50 unseen and amazing bizarre photos from the past. Unforgetable and sometimes creepy pictures from the various EU archives.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/\" \/>\n<meta property=\"og:site_name\" content=\"Old Pictures\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/oldpics.net\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-09-25T09:56:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-09-25T14:15:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/bizarre-photos.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carol Pearson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/oldpics.net\/#website\",\"url\":\"https:\/\/oldpics.net\/\",\"name\":\"Old Pictures\",\"description\":\"Historical photos, stories and even more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/oldpics.net\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/bizarre-photos.jpg\",\"contentUrl\":\"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/bizarre-photos.jpg\",\"width\":1200,\"height\":900},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/#webpage\",\"url\":\"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/\",\"name\":\"50 amazing and bizarre photos\u00a0 - Old Pictures\",\"isPartOf\":{\"@id\":\"https:\/\/oldpics.net\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/#primaryimage\"},\"datePublished\":\"2020-09-25T09:56:55+00:00\",\"dateModified\":\"2020-09-25T14:15:40+00:00\",\"author\":{\"@id\":\"https:\/\/oldpics.net\/#\/schema\/person\/c4f7edd3528070ffe6748aeff501aa54\"},\"description\":\"50 unseen and amazing bizarre photos from the past. Unforgetable and sometimes creepy pictures from the various EU archives.\",\"breadcrumb\":{\"@id\":\"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/oldpics.net\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"50 amazing and bizarre photos\u00a0\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/oldpics.net\/#\/schema\/person\/c4f7edd3528070ffe6748aeff501aa54\",\"name\":\"Carol Pearson\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/oldpics.net\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a7f7be56d57389e0460f30e30f91f9a5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a7f7be56d57389e0460f30e30f91f9a5?s=96&d=mm&r=g\",\"caption\":\"Carol Pearson\"},\"url\":\"https:\/\/oldpics.net\/author\/carol\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"50 amazing and bizarre photos\u00a0 - Old Pictures","description":"50 unseen and amazing bizarre photos from the past. Unforgetable and sometimes creepy pictures from the various EU archives.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/","og_locale":"en_US","og_type":"article","og_title":"50 amazing and bizarre photos\u00a0 - Old Pictures","og_description":"50 unseen and amazing bizarre photos from the past. Unforgetable and sometimes creepy pictures from the various EU archives.","og_url":"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/","og_site_name":"Old Pictures","article_publisher":"https:\/\/www.facebook.com\/oldpics.net\/","article_published_time":"2020-09-25T09:56:55+00:00","article_modified_time":"2020-09-25T14:15:40+00:00","og_image":[{"width":1200,"height":900,"url":"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/bizarre-photos.jpg","type":"image\/jpeg"}],"twitter_card":"summary","twitter_misc":{"Written by":"Carol Pearson","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/oldpics.net\/#website","url":"https:\/\/oldpics.net\/","name":"Old Pictures","description":"Historical photos, stories and even more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/oldpics.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/#primaryimage","inLanguage":"en-US","url":"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/bizarre-photos.jpg","contentUrl":"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/bizarre-photos.jpg","width":1200,"height":900},{"@type":"WebPage","@id":"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/#webpage","url":"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/","name":"50 amazing and bizarre photos\u00a0 - Old Pictures","isPartOf":{"@id":"https:\/\/oldpics.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/#primaryimage"},"datePublished":"2020-09-25T09:56:55+00:00","dateModified":"2020-09-25T14:15:40+00:00","author":{"@id":"https:\/\/oldpics.net\/#\/schema\/person\/c4f7edd3528070ffe6748aeff501aa54"},"description":"50 unseen and amazing bizarre photos from the past. Unforgetable and sometimes creepy pictures from the various EU archives.","breadcrumb":{"@id":"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/oldpics.net\/50-amazing-and-bizarre-photos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/oldpics.net\/"},{"@type":"ListItem","position":2,"name":"50 amazing and bizarre photos\u00a0"}]},{"@type":"Person","@id":"https:\/\/oldpics.net\/#\/schema\/person\/c4f7edd3528070ffe6748aeff501aa54","name":"Carol Pearson","image":{"@type":"ImageObject","@id":"https:\/\/oldpics.net\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/a7f7be56d57389e0460f30e30f91f9a5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a7f7be56d57389e0460f30e30f91f9a5?s=96&d=mm&r=g","caption":"Carol Pearson"},"url":"https:\/\/oldpics.net\/author\/carol\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/posts\/5639"}],"collection":[{"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/comments?post=5639"}],"version-history":[{"count":2,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/posts\/5639\/revisions"}],"predecessor-version":[{"id":5692,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/posts\/5639\/revisions\/5692"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/media\/5691"}],"wp:attachment":[{"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/media?parent=5639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/categories?post=5639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/tags?post=5639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}