/* * 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":5840,"date":"2020-09-29T16:37:26","date_gmt":"2020-09-29T14:37:26","guid":{"rendered":"https:\/\/oldpics.net\/?p=5840"},"modified":"2020-10-01T13:26:48","modified_gmt":"2020-10-01T11:26:48","slug":"64-amazing-photos-by-alfred-eisenstaedt","status":"publish","type":"post","link":"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/","title":{"rendered":"64 Amazing photos by Alfred Eisenstaedt"},"content":{"rendered":"\n

\"AlfredAlfred Eisenstaedt photos are an integral part of the history of photojournalism. He captured informal portraits of kings, dictators, scientists, athletes, and movie stars and sensitively portrayed ordinary people in everyday situations. Alfred Eisenstadt said that his goal was “to find and capture the moment of the story.”<\/span><\/h3>\n

Oldpics<\/strong> has covered the \u2018V-J Day,\u2019<\/a> which is one of the most remarkable photos by Alfred Eisenstadt. It also hit the list of Top 100 most important photos in history<\/a>. In this publication, we\u2019ll show you his most brilliant photos.<\/span><\/p>\n

Buttons and cameras<\/h3>\n

Alfred Eisenstaedt was born in 1898 in the city of Dirschau (then Eastern Germany, now it\u2019s Tczew in Poland). He died at 96 and devoted more than 70 to photography. Eisenstaedt studied at the University of Berlin, joined the German Army during WWI. After the war, he sold buttons and belts in Berlin and started to freelance as a photojournalist. In 1929, he received his first photo assignment. It was the beginning of a professional career as a photojournalist: he was filming the Nobel Prize ceremony in Stockholm.<\/span><\/p>\n

\"Alfred

Alfred Eisenstaedt, 1930s<\/p><\/div>\n

A new ‘LIFE’ in the US<\/h3>\n

From 1929 to 1935, Eisenstadt was a staff photojournalist for the Pacific and Atlantic agency, then a part of the Associated Press. While dodging the horrors of the jew-life in Nazi Germany, he emigrated to the United States in 1935. Alfred Eisenstaedt continued his photo career in New York, working for Harper’s Bazaar, Vogue, Town and Country, and other publications. In 1936, Henry Luce hired him as one of four photographers for LIFE magazine (the other three cameramen were Margaret Burke-White, Peter Stackpole, and Thomas McAvoy). Eisenstaedt stayed with this legendary magazine for the next four decades. His photographs have appeared on the LIFE magazine covers 90 times.<\/span><\/p>\n

Alfred Eisenstaedt was among those Europeans who pioneered using the 35mm camera in photojournalism on American publications after WWI. He was also an early advocate of natural light photography. When photographing famous people, he tried to create a relaxed atmosphere to capture natural postures and expressions: \u201cDon’t take me too seriously with my small camera,\u201d Eisenstaedt said. – I’m here not as a photographer. I came as a friend. “<\/span><\/p>\n

\"Alfred

Agricultural school for Prussian coachmen trained to hold the reins. Neudeck, East Prussia, 1932.<\/p><\/div>\n

Secret trick of Alfred Eisenstaedt<\/h3>\n

Creating a relaxed environment was not always easy. Let\u2019s take a photoshoot with Ernest Hemingway in his boat in 1952. While establishing those special links between genius and the photographer, the writer tore his shirt in a rage and threatened to throw Alfred Eisenstaedt overboard. The photographer recalled that shooting in Cuba in 1952 more than once. \u201cHemingway nearly killed me,\u201d the photographer said.<\/span><\/p>\n

Unlike many photojournalists of the post-war period, Alfred Eisenstadt didn\u2019t commit to any particular type of events or geographic area. He was a generalist. And he liked to capture people and their emotions than the news. Editors appreciated his eagle eye and his talent to take good photographs of any situation or event. Eisenstadt’s skill set a perfect composition that turned his photos into the era’s memorable documents in historical and aesthetic contexts.<\/span><\/p>\n

\"Eyes

Nazi Germany’s propaganda minister Joseph Goebbels at the 1933 League of Nations conference in Geneva. He had just found out that the photographer was Jewish and stopped smiling. This photo was one of the first shots of Alfred Eisenstadt that appeared on the cover of the LIFE magazine.<\/span><\/p><\/div>\n

Eyes of hate: story behind iconic photo by\u00a0 Alfred Eisenstaedt<\/a><\/h3>\n
\"Ballerinas

Ballerinas with a ballet master at a rehearsal at the Paris Opera. Paris, France, 1932.<\/p><\/div>\n

\"V-J

V-J Day, 1945<\/p><\/div>\n

The story \u2018V-J Day in Times Square\u2019 by Alfred Eisenstaedt<\/a><\/h3>\n
\"Senior

Senior waiter Rene\u0301 Breguet from the Grand Hotel serving ice skating cocktails. The commune of St. Moritz in Switzerland, 1932.<\/p><\/div>\n

\"Young

Young monks walk across the Ponte Vecchio in Florence, Italy, 1935.<\/p><\/div>\n

\"Writer

Writer William Somerset Maugham, South Carolina, USA, 1942.<\/p><\/div>\n

\"Alfred

Writer Ernest Hemingway. Havana, Cuba, 1952.<\/p><\/div>\n

Read more:\u00a0Ernest Hemingway and a dead cat<\/a><\/h3>\n
\"Winston

Winston Churchill, Chartwell, Kent, England, 1951.<\/p><\/div>\n

Read more:\u00a0Winston Churchill with a Tommy Gun, 1940<\/a><\/h3>\n
\"Trees

Trees in the snow, St. Moritz, 1947.<\/p><\/div>\n

\"Alfred

The room where Beethoven was born. Bonn, Germany, 1979.<\/p><\/div>\n

\"Alfred

The room where Beethoven was born. Bonn, Germany, 1979.<\/p><\/div>\n

\"The

The hull of the German airship Graf Zeppelin renovated over the South Atlantic, 1933.<\/p><\/div>\n

\"Alfred

Street musicians near Rue Saint-Denis in Paris, 1932.<\/p><\/div>\n

\"Alfred

Sophia Loren, Rome, Italy, 1961.<\/p><\/div>\n

\"Alfred

Sophia Loren behind the scenes of the ‘Italian Marriage,’ Rome, Italy, 1964.<\/p><\/div>\n

\"Alfred

Singer Jane Foreman at NBC 4H Studios in New York, 1937.<\/p><\/div>\n

\"Salvador

Salvador Dali with his wife at a New Year’s party in New York, January 1956.<\/p><\/div>\n

\"Alfred

Runners at the Italian Forum, Rome, 1934.<\/p><\/div>\n

\"Alfred

Director of the Institute for Advanced Study, Robert Oppenheimer, discusses the theory of matter in terms of space with Albert Einstein in Princeton, New Jersey, 1947.<\/p><\/div>\n

Read more:\u00a0Albert Einstein becomes US citizen, 1940<\/a><\/h3>\n
\"Alfred

Professional hunter Haile Selassie in Addis Ababa, Ethiopia, 1935.<\/p><\/div>\n

\"President

President John F. Kennedy’s inauguration ball at the Mayflower Hotel in Washington, DC January 20, 1961.<\/p><\/div>\n

Read more:\u00a0Historic friendship of Frank Sinatra and John F. Kennedy<\/a>.<\/h3>\n
\"Nursing

Nursing students at Roosevelt Hospital, New York, 1938.<\/p><\/div>\n

\"Alfred

Nightclub Salambo in West Berlin, Germany, 1979.<\/p><\/div>\n

Read more:\u00a01950s Paris Nightlife in pictures by Frank Horvat<\/a>.<\/h3>\n
\"Mortar

Mortar squad of the German army in the Spandau district, Berlin, 1934.<\/p><\/div>\n

\"Mom

Mom and child in Hiroshima, Japan, December 1945.<\/p><\/div>\n

Read more:\u00a0Rare color photos of Hiroshima after the atomic explosion<\/a><\/h3>\n
\"Model

Model looking into a large mirror, Paris, France, 1932.<\/p><\/div>\n

\"Martin

Martin Buber, a Jewish existential philosopher, and theorist of Zionism. Jerusalem, Israel, 1953.<\/p><\/div>\n

\"Alfred

Marlene Dietrich, Berlin, 1929.<\/p><\/div>\n

\"Marilyn

Marilyn Monroe, 1953.<\/p><\/div>\n

\"Marilyn

Marilyn Monroe on the patio at her home in 1953.<\/p><\/div>\n

\"Alfred

Looks into the mouth of a big fish that dad just caught. Florida, USA, 1956.<\/p><\/div>\n

\"Location

Location of the bunker where Hitler died. View from Otto Grotewohl Street in East Berlin, 1979.<\/p><\/div>\n

\"Hanomag

Hanomag car, Wolfgangsee, Salzburg, Austria, 1932.<\/p><\/div>\n

\"Hedy

Hedy Lamarr, 1938<\/p><\/div>\n

\"Horse

Horse tram and steamer in the harbor of Izmir, Turkey, 1934.<\/p><\/div>\n

\"Alfred

Ice bar at the Palace Hotel ice rink in St. Moritz, Switzerland, 1947.<\/p><\/div>\n

\"Leela

Leela Tiffany begging in front of Carnegie Hall in New York, 1960.<\/p><\/div>\n

\"George

George Bernard Shaw on his balcony in London, England, 1931.<\/p><\/div>\n

\"Children

Children in the puppet theater at the moment when a bad dragon is killed. Tuileries Garden, Paris, 1963.<\/p><\/div>\n

\"Dance

Dance school in Berlin, 1931.<\/p><\/div>\n

\"City

City mayor and chief of justice, presiding over the court session. Addis Ababa, Ethiopia, 1935.<\/p><\/div>\n

\"Chimney

Chimney sweep in Hamburg, Germany, 1979.<\/p><\/div>\n

\"Break

Break at the Chinese Mission School in San Francisco, California, 1936.<\/p><\/div>\n

\"Bertrand

Bertrand Russell, London, England, 1951.<\/p><\/div>\n

\"Ballet

Ballet School in Berlin, 1931.<\/p><\/div>\n

\"Ballet

Ballet dancer Mikhail Baryshnikov in New York, 1979.<\/p><\/div>\n

\"Ballerinas

Ballerinas in the rehearsal room of the George Balanchine Ballet School, 1936.<\/p><\/div>\n

\"Athletics

Athletics coaches on Hiddensee Island, west of Ru\u0308gen Island, in the Baltic Sea, 1931.<\/p><\/div>\n

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

Albert Einstein at Princeton, 1948.<\/p><\/div>\n

\"An

An Italian officer sleds in Sestriere, Italian Alps, 1934.<\/p><\/div>\n

\"An

An optical illusion building in the Peseldorf district, Hamburg, Germany, 1979.<\/p><\/div>\n

\"Army

Army officer of the Mussolini army during the manicure procedure in Milan, Italy, 1934.<\/p><\/div>\n

\"A

A young Englishman looks at himself in the mirror of the Grand Hotel in St. Moritz, Switzerland, 1932.<\/p><\/div>\n

\"A

A wicker rocking chair displayed at a flea market in Paris, 1963.<\/p><\/div>\n

\"A

A prostitute on the rue Saint-Denis in Paris, 1932.<\/p><\/div>\n

\"A

A New Yorker on vacation in Miami Beach, Florida, USA, 1940.<\/p><\/div>\n

\"A

A man tries to sell a doll on the rue Saint-Denis, Paris, Ile-de-France, France, 1931.<\/p><\/div>\n

\"A

A girl at the Weissensee Jewish cemetery in East Berlin, 1979.<\/p><\/div>\n

\"A

A gigantic oak tree in Tisbury, Massachusetts, USA, 1968.<\/p><\/div>\n

\"Alfred

A fresco in the Dominican monastery of San Marco called Providence. Giovanni Antonio Sogliani created it in 1536. Italy, Florence, 1935.<\/p><\/div>\n

\"Perseus

Perseus, by the Italian sculptor Benvenuto Cellini holds the severed head of a jellyfish. Against the background, a copy of Michelangelo’s David, Palazzo Vecchio, Florence, Italy, 1935.<\/p><\/div>\n

\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"

Alfred Eisenstaedt photos are an integral part of the history of photojournalism. He captured informal portraits of kings, dictators, scientists, athletes, and…<\/p>\n","protected":false},"author":2,"featured_media":5905,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[187,1],"tags":[42,50,51,95],"yoast_head":"\n64 Amazing photos by Alfred Eisenstaedt - Old Pictures<\/title>\n<meta name=\"description\" content=\"The most amazing photos by Alfred Eisenstaedt. The photographer who captured people during the most important moments in history!\" \/>\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\/64-amazing-photos-by-alfred-eisenstaedt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"64 Amazing photos by Alfred Eisenstaedt - Old Pictures\" \/>\n<meta property=\"og:description\" content=\"The most amazing photos by Alfred Eisenstaedt. The photographer who captured people during the most important moments in history!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/\" \/>\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-29T14:37:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-10-01T11:26:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/Alfred-Aisenstadts.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=\"Anna Ramirez\" \/>\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\/64-amazing-photos-by-alfred-eisenstaedt\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/Alfred-Aisenstadts.jpg\",\"contentUrl\":\"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/Alfred-Aisenstadts.jpg\",\"width\":1200,\"height\":900,\"caption\":\"Alfred Eisenstaedt photography\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/#webpage\",\"url\":\"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/\",\"name\":\"64 Amazing photos by Alfred Eisenstaedt - Old Pictures\",\"isPartOf\":{\"@id\":\"https:\/\/oldpics.net\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/#primaryimage\"},\"datePublished\":\"2020-09-29T14:37:26+00:00\",\"dateModified\":\"2020-10-01T11:26:48+00:00\",\"author\":{\"@id\":\"https:\/\/oldpics.net\/#\/schema\/person\/1efc398ddd88adfb0a866aba80bc24eb\"},\"description\":\"The most amazing photos by Alfred Eisenstaedt. The photographer who captured people during the most important moments in history!\",\"breadcrumb\":{\"@id\":\"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/#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\":\"64 Amazing photos by Alfred Eisenstaedt\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/oldpics.net\/#\/schema\/person\/1efc398ddd88adfb0a866aba80bc24eb\",\"name\":\"Anna Ramirez\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/oldpics.net\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/74e7540c75d2a2e78694dddb75113518?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/74e7540c75d2a2e78694dddb75113518?s=96&d=mm&r=g\",\"caption\":\"Anna Ramirez\"},\"url\":\"https:\/\/oldpics.net\/author\/anna\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"64 Amazing photos by Alfred Eisenstaedt - Old Pictures","description":"The most amazing photos by Alfred Eisenstaedt. The photographer who captured people during the most important moments in history!","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\/64-amazing-photos-by-alfred-eisenstaedt\/","og_locale":"en_US","og_type":"article","og_title":"64 Amazing photos by Alfred Eisenstaedt - Old Pictures","og_description":"The most amazing photos by Alfred Eisenstaedt. The photographer who captured people during the most important moments in history!","og_url":"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/","og_site_name":"Old Pictures","article_publisher":"https:\/\/www.facebook.com\/oldpics.net\/","article_published_time":"2020-09-29T14:37:26+00:00","article_modified_time":"2020-10-01T11:26:48+00:00","og_image":[{"width":1200,"height":900,"url":"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/Alfred-Aisenstadts.jpg","type":"image\/jpeg"}],"twitter_card":"summary","twitter_misc":{"Written by":"Anna Ramirez","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\/64-amazing-photos-by-alfred-eisenstaedt\/#primaryimage","inLanguage":"en-US","url":"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/Alfred-Aisenstadts.jpg","contentUrl":"https:\/\/oldpics.net\/wp-content\/uploads\/2020\/09\/Alfred-Aisenstadts.jpg","width":1200,"height":900,"caption":"Alfred Eisenstaedt photography"},{"@type":"WebPage","@id":"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/#webpage","url":"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/","name":"64 Amazing photos by Alfred Eisenstaedt - Old Pictures","isPartOf":{"@id":"https:\/\/oldpics.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/#primaryimage"},"datePublished":"2020-09-29T14:37:26+00:00","dateModified":"2020-10-01T11:26:48+00:00","author":{"@id":"https:\/\/oldpics.net\/#\/schema\/person\/1efc398ddd88adfb0a866aba80bc24eb"},"description":"The most amazing photos by Alfred Eisenstaedt. The photographer who captured people during the most important moments in history!","breadcrumb":{"@id":"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/oldpics.net\/64-amazing-photos-by-alfred-eisenstaedt\/#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":"64 Amazing photos by Alfred Eisenstaedt"}]},{"@type":"Person","@id":"https:\/\/oldpics.net\/#\/schema\/person\/1efc398ddd88adfb0a866aba80bc24eb","name":"Anna Ramirez","image":{"@type":"ImageObject","@id":"https:\/\/oldpics.net\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/74e7540c75d2a2e78694dddb75113518?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/74e7540c75d2a2e78694dddb75113518?s=96&d=mm&r=g","caption":"Anna Ramirez"},"url":"https:\/\/oldpics.net\/author\/anna\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/posts\/5840"}],"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\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/comments?post=5840"}],"version-history":[{"count":3,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/posts\/5840\/revisions"}],"predecessor-version":[{"id":6001,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/posts\/5840\/revisions\/6001"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/media\/5905"}],"wp:attachment":[{"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/media?parent=5840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/categories?post=5840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oldpics.net\/wp-json\/wp\/v2\/tags?post=5840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}