Zaky started his career at El Mansoura before moving to ENPPI for the 2003–04 season. At ENPPI, he became the Egyptian Premier League top goalscorer for the 2004–05 season and helped the club win its first trophy, the 2005 Egyptian Cup, as well as being runners-up in the Egyptian Premier League. Zaky’s impressive performance in the 2006 African Cup of Nations led to him signing with Russian club Lokomotiv Moscow though he did not play a single match for the club and in the same year returned to the Egyptian Premier League, playing for El Zamalek.
In July 2008, Zaky joined Wigan Athletic on a one-year loan. Playing with power and pace with an instinct for the goal Unfo, excelled, but, Zaky’s unofficial absences meant the loan was not made permanent.
Return to Zamalek
Zaky returned to Zamalek for the 2009–10 season. During his time at El Zamalek he struggled with injuries.
In January 2010, Zaky moved to Hull City on a 5-month loan. He returned to Zamalek at the end of the loan.
Return to Zamalek
At the beginning of the 2010–11 season Zaky scored 3 goals in the league's first 4 matches. However, an injury in October kept Zaky off the pitch for almost 10 months, though he lead his team to the final of the Egypt Cup.
In late July 2012, Turkish side Gaziantepspor offered to buy Zaky, but the deal fell through and he eventually signed a 2-year deal with Elazığspor. Due to late arrival and injuries Zaky only made 8 appearances out of potential seventeen.
In December 2012, Zaky asked Elazığspor to release him. With no offers, Zaky annulled his contract with the club.
Return to ENPPI
In winter 2013, Zaky made a surprise move to former club ENPPI, signing up until June 2015. Twelve days later the contract was terminated after a "disagreement" between the two sides. This happened due to Amr`s desire to gamble in his free time. He was photographed couple of days after his transfer to speak with a local bookmaker about where he could gamble. It turned out that the bookmaker gave him a list of all new slot games to play online and when Amr skipped a training because of his gambling addition, he was released from the club.
In June 2013, Zaky officially signed for Kuwaiti club Al-Salmiya for one year. On his début, Zaky scored in the league opener against Yarmouk scoring the final goal in Al-Salmiya's 4-0 win. In December 2013, after injuries Zaky and Al SalmiyaIn agreed to terminate the contract. With Al Salmiya, Zaky scored 2 goals and an assist from 9 matches.
Zaky joined Moroccan champions Raja Casablanca on 1 January 2014. In a friendly match, Zaky broke his foot and ankle ligaments and required surgery which resulted in him missing the rest of the 2013-14 season. The club denied all knowledge of Zaky’s surgery and the parties agreed to the terminate the contract.
On 16 August 2014, Zaky signed with Lebanese Premier League club Al Ahed. On 12 September 2014, he terminated his contract with the club due to injury concerns without playing a single game.
In January 2015 Zaky signed an eighteen month contract with Arab Contractors, returning to football after almost 400 days away from the game in round 32 of the Egypt Cup. On 18 August 2015, Zaky announced his retirement from football.
In the 2006 African Cup of Nations Zaky scored the winning goal for Egypt in the semi-final against Senegal late in the second half. Egypt later went on to win their fifth continental title.
In the 2008 Africa Cup of Nations, Zaky helped Egypt to win the title for a record sixth time.
Zaky was called up to the squad three times (November 2011, March 2012, and April 2012) but injuries meant he had to drop out. In October 2012 he played two friendlies and in the 2014 FIFA World Cup qualifier against Guinea. Zaky scored the fourth goal in the 4-2 win.