Genellikle / files / veya benzer bir şey olarak adlandırılan bir dizin içinde, Web sitemin kök benim arkadaş ya da aile için belgeleri (resim, mpegs, .., vb kelime dokümanlar excel) kaydedin. Çok nadir bir şey.
Ama kullanıcı oturum kontrolü ile oynarken, ve kullanıcıların özel / files / dizinine dosya yüklemek için izin edilmiştir. (Dosya adları o kullanıcının kimliği ile, bir db kaydedilir)
But, that means other people could try to guess and locate other people's files.
I do randomize the file names, upon upload. And I stop the apache from displaying the /files/ directory content.
Ancak, web sitesinin kökünün dışında dosyaları kaydetmeden başlamak istiyorum. Bu şekilde tarayıcı üzerinden erişilebilir olamaz.
Ben göstermek için herhangi bir kod yok, ama başarılı olmak mümkün değilse bile bu çaba başlamak istemedim. Ben web sitesi kök dışından, bir görüntüyü göstermek için nasıl gösterir bu pasajı buldunuz:
$file = $_GET['file'];
$fileDir = '/path/to/files/';
if (file_exists($fileDir . $file))
{
// Note: You should probably do some more checks
// on the filetype, size, etc.
$contents = file_get_contents($fileDir . $file);
// Note: You should probably implement some kind
// of check on filetype
header('Content-type: image/jpeg');
echo $contents;
}
>
Belki de herhangi bir dosya türü için kullanabilirsiniz, ama herkes kullanıcılar (kaydedilir) çevrimiçi kendi dosyalarına erişmesine izin vermek için daha iyi bir yolu duymuştur, ancak benzer erişimi olan diğer kullanıcılara izin yok?