PHP dosya yükleme dinamik yolu ile çalışmıyor

3 Cevap php

i farklı klasörlere dosya yüklemek için bir php yükleme komut dosyası yazmak çalışıyorum. Benim kod doğrudan yolu ('/ yol / dizinine' gibi bir şey) için değil, zamanında alınan dinamik yolu için çalışıyor.

$directory_self = dirname($_SERVER['PHP_SELF']);
$folder = $_POST['folder_name']; //final folder
$toupload = $_SERVER['DOCUMENT_ROOT'] . $directory_self .'/files'. $folder;
$uploadsDirectory = str_replace (" ", "", $toupload);

I $ uploadsDirectory echo zaman tam yolunu gösterir. Herhangi biri bu yanlış ne olabilir bana yardımcı olabilir mi?

3 Cevap

Senaryo var dosyaları yazma izni varsa kontrol ve görmek klasör oluşturulur ve eğer gerekir.

Yükleme script kesin çıkış nedir? (Yani ne hataları, atmak mı?)

Kullanmayı deneyin dirname(__FILE__);

<?php
$directory_self = dirname(__FILE__);
$folder = "faruk"; //final folder
$toupload = $_SERVER['DOCUMENT_ROOT'] . $directory_self .'/files/'. $folder;
$uploadsDirectory = trim($toupload);
echo $uploadsDirectory."\n";

?>

Benim laptop Çıktı;

/home/test/Desktop/files/test

Eğer üreten konum yolu aslında var ve yazılabilir olup olmadığını görmek için bazı hata ayıklama şeyler eklemeyi deneyin:

$directory_self = dirname($_SERVER['PHP_SELF']);
$folder = $_POST['folder_name']; //final folder
$uploaddir = $_SERVER['DOCUMENT_ROOT'] . $directory_self . '/files';

$uploadsDirectory = str_replace (" ", "", $uploaddir);

if (!is_dir($uploadDirectory)) {
    die("$uploadDirectory is not a directory");
}

if (!is_writeable($uploadDirectory)) {
    die("$uploaddir is not writeable");
}

$toupload = $uploadDirectory . $folder;

if (!is_writeable($toupload)) {
    die("$toupload is not writeable");
}