2008-10-15 28 views
8

Windows Server 2003 Enterprise kutusuna PHP 5.2.6 çalıştırıyorum. IIS, anonim erişimi reddetmek ve Tümleşik Windows kimlik doğrulamasını kullanmak üzere ayarlanmıştır.PHP tarafından değiştirilen dosyadaki tek izinler move_uploaded_file()

Web formundan yüklenen bir dosyayı kaydetmek için bir PHP betiği kullanıyorum. Dosya bir geçici klasöre yüklenir, komut dosyası web formundaki diğer değişkenlere bağlı olarak bir dosya adı ve yol oluşturur ve betik, geçici dosyayı son konuma taşımak için PHP'nin _ yüklenen _ dosyasını() kullanır. Bütün bunlar iyi çalışıyor. Kısacası, insanlar dosyaları yüklerken gruptaki herkes onları görebilir ve dosyalar komut dosyası tarafından düzenlenir.

Sorunum, son konumdaki dosyanın tek izinlere sahip olması. Geçici konumdan veya son konumdan izinlerle sona ermiyor. Hem geçici konum hem de nihai konum aynı izinlere sahip: sahip ve yönetimler için tam haklar; 2 belirli AD güvenlik grubu için okuma ve okuma/yürütme. Son dosya sadece biter: sahip ve yönetimler için tam haklar. Bu nedenle, yöneticiler ve orijinal yükleyici dosyayı görüntülerken sorun yaşarken, gruptaki diğer herkes, erişmeye çalışırken "izin reddedildi".

Herhangi bir fikir veya öneriniz büyük takdir edilecektir! Teşekkürler! http://us3.php.net/move_uploaded_file

aşağıdaki yorumlarına bir göz atın kopya yaklaşık Florian yorumun() dikkat:

cevap

4

Bu move_uploaded_file() fonksiyonu ile ilgili bir sorun gibi görünüyor.

move_uploaded_file üzerinde php sayfasından çözmek) (sorunu ?:
http://us3.php.net/manual/en/function.copy.php

+0

Bu işe yaradı. Teşekkürler! – user13414

+0

Sorun değil, yardımcı olabildiğime sevindim. –

+0

copy_uploaded_file() öğesi, bu denetimi uygularken copy() kullanıyorsanız, is_uploaded_file() öğesinin geçici dosyada true değerini döndürdüğünü doğrulamak akıllıca olur. –

7

kopyalamak misiniz (nb: Bu benim için çalıştı): Windows ve IIS, size PHP kullananlar için

Php.ini dosyasındaki "upload_tmp_dir" değerini, web sitenizin bulunduğu dizinin bulunduğu dizine, bu dizini oluşturmaya ve ardından web sitenizin dizini için belirlediğiniz izinlere ayarlamanız gerekir. Aksi takdirde, bir dosya yüklediğinizde ve C: \ WINDOWS \ Temp dizinine girdiğinizde, onu web sitenizin dizinine taşırsınız, izinleri doğru şekilde ayarlanmayacaktır. Bu dosyayı daha sonra ImageMagick'in dönüştürme aracı gibi bir şeyle değiştirmek istediğinizde sorunlara neden olur.