Ben dosyaları upload move_uploaded_file işlevini kullanıyorum. Dosyaları sağ dizinde taşındı olsun ve ben onun fiziksel varlığını görmek, ama ben bunları açamazsınız. Ben "Erişim Engellendi" hatası alıyorum. Ben dosyanın özelliklerini görmek ve bunu bir sahibi yoktur bulundu.
Bu arada, Windows 2008 IIS çalıştırıyorum.
Ben izinleri kontrol, her şeyi doğru ayarlanır. Web servisi çalıştıran kullanıcı tam yönetici haklarına sahiptir.
Ayrıca, ben kopya () ile move_uploaded_file işlevini yerine, ve ben dosyaya erişmek mümkün oldu. Aynı zamanda onun sahibi olarak sunucusu çalıştıran kullanıcı vardı.
Yeryüzünde Ne muhtemelen yanlış olabilir?
Teşekkürler Ben yardım için teşekkür ederiz.
UPDATE: After the file is moved I tried to set permissions using chmod($filename,0655) but that didn't work either.
UPDATE 2 (solution): Alright guys, I figured it out. The system administrator didn't set the upload_tmp_dir.It worked once we added a path.
Kaynak kodu:
// Check if file was uploaded
if(isset($_FILES['formname']) && $_FILES['formname']['size'] > 8){
$displayName = $_FILES['formname']['name'];
$displayName = unixfilename(basename($displayName));
$tempName = $_FILES['formname']['tmp_name'];
$filename = $_FILES['formname']['name'];
$fileType = substr($filename, strrpos($filename,".")+1);
$filename = substr($filename,0,strrpos($filename,".")) . date("_Ymd_His") . ".$fileType"; // Add unique identifier
$filename = unixfilename(basename($filename));
$destinationPath = "xx\yy\zz\\";
// Check if the file is of a valid type
if($fileType == "txt"){
// Check if file exists in processor folder
if(!file_exists($destinationPath.$filename)){
if(move_uploaded_file($tempName,$destinationPath.$filename)){
if(file_exists($destinationPath.$filename)){
// success