echo demenize gerek yok

print_r($_FILES);
dediginizde formdan gönderilen dosyaya ait tüm bilgileri görebilirsiniz.

bir sonraki adimda

if (is_uploaded_file($_FILES['photo']['tmp_name'])) {
burdaki if kontrolüne girip girmedigini kontrol etmek için

bu satırı

if (is_uploaded_file($_FILES['photo']['tmp_name'])) {
           echo 'aaaaa';
şekline çevirebilirsinzi

ekrana aaa yazmiyorsa buraya hiç girmiyor demektir. sonraki adimda bu echo aaa yi

if (move_uploaded_file($_FILES['photo']['tmp_name'], "" .$photo)) {
dan sorna aya alın

umarım ne yaptığımızı anlatabiliyorumdur.

nereye girip nereye girmedigini anlarsanız ona göre hatayı bulmak kolay olur.

mesela upload edilen dosyayi yüklediginiz dosya ismi ve yolu

"" .$photo

da yer alıyor. acaba ne oluşuyor.

birde bi dosyanın uzantısını almak için $photo=explode('.', $photo); çok uygun degil

strrchr($photo,'.') ile dosya uzantısı alınabilir.

biraz mantığı anlamaya hazır kopyala yapıştırla boğuşmamaya çalışırsanız sorunu çözebilirsiniz