PHP Resim Yükle nesne windows dizini yaratmak değil

2 Cevap php

Ben en yapıcı olarak bir PRODUCT_ID ve $ _FILES dizi excepts bir sınıf yazıyorum. Sınıfı, bu değişkenleri kaydeder ve product_id ve benim belirtilen dizine geçici dosyayı kopyalamak girişimleriyle adlı yeni bir dizin oluşturmak için bunları kullanır.

(Kurucu içinde gerçekleşmesi gereken) bir dizin oluşturma gibi nedense benim sınıf bile kadarıyla almıyor

İşte benim kod için bir bağlantı: http://pastie.org/955454

2 Cevap

Bu bir izin sorunu olabilir. Sen bir Windows tabanlı sunucu söylüyorlar? Bu makine var mı? Eğer özel bir sunucu kullanıyor musunuz? Eğer paylaşılan bir sunucu kullanıyor musunuz?

Bu sorunun cevabı gerçekten bu tarafından verilen bilgilere bağlıdır. Eğer makine sahipseniz, sadece size istediğiniz yazılabilir ve yazılacak izinlerini açmak olduğunu sabit diskinizdeki dizine gidebilirsiniz. Bu adanmış eğer, dosya yapısı erişim ve oradaki izin ayarlarını değiştirerek oldukça kolay bir araçtır muhtemelen var. Paylaşılan eğer, aynı şey.

\ Images \ yükleme (veya ne olursa olsun sürücü siteyi çalıştırıyorsunuz): Eğer bu-> yapıcısı dizin, diğer bir deyişle, C gibi tedavi olacak, bu $ mutlak bir yolu kullanıyorsanız görünür. Eğer bu bir tanım tipi yolu olmak demek, o zaman yolu için webroot eklemeniz gerekir:

$this->directory = $_SERVER['DOCUMENT_ROOT'] . '/images/upload/' . $this->prod_id

Ayrıca mkdir () 'ler dönen ne kontrol etmek isteyebilirsiniz. O bunu başarısız tam olarak neden error_get_last() (PHP> = 5.2) görmek için kontrol edebilir, hangi sonra, başarısızlık durumunda FALSE bulunuyor.

} else {
     $ret = mkdir($this->directory, 0755, true);
     if ($ret === FALSE) {
        die("mkdir() failed with: " . error_get_last());
     }
}