2012-05-24 6 views
1

В настоящее время я создал скрипт, который позволяет загружать файлы в нашей компании. Я хочу улучшить этот скрипт, чтобы каталог загруженного файла замаскировался в ссылке для загрузки (не хочу, чтобы люди знали структуру каталогов). Есть ли способ кодировать ссылку, а затем, как только успешная загрузка сделал эхо-версию скрытого URL-адреса, доступного для наших клиентов для загрузки.PHP File Upload/Host System

<?php 
$target = "upload/"; 
$target = $target . basename($_FILES['uploaded']['name']) ; 
$ok=1; 

//This is our size condition 
if ($uploaded_size > 350000) 
{ 
echo "Your file is too large.<br>"; 
$ok=0; 
} 

//This is our limit file type condition 
if ($uploaded_type =="text/php") 
{ 
echo "No PHP files<br>"; 
$ok=0; 
} 

//Here we check that $ok was not set to 0 by an error 
if ($ok==0) 
{ 
Echo "Sorry your file was not uploaded"; 
} 

//If everything is ok we try to upload it 
else 
{ 
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
{ 
echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded"; 
} 
else 
{ 
echo "Sorry, there was a problem uploading your file."; 
} 
} 
?> 

Спасибо ребята :)

ответ

0

Я не дам вам код, но вот моя стратегия для осуществления общего доступа к файлам, не выдав их местоположение.

  1. Создайте файл, который принимает в качестве параметра имя файла для извлечения. Единственная цель - открыть файл и выпустить его. Он должен заранее знать, что делать с файлом, где его искать, и как его вернуть (поток). Давайте назовем это getFile($filename)

  2. В вашей основной PHP файл, вызовите функцию и сохранить результат в переменной:

    файла $ = GetFile ($ _ POST [ 'имя файла']);

Теперь отправьте пользователю файл, и он не станет более мудрее о том, откуда он.

+0

Спасибо за ответ, я получаю то, что вы говорите, но я абсолютно безуспешно, как это сделать :( – user1371500

0

Вы можете сделать скрипт, который файл отскакивает. Он просто принимает имя файла как параметр. Что-то вроде:

download.php файл = myfile.txt

таким образом, вы не говорите, где вы положили ваши файлы, и это легко осуществить. Вы можете добавить заголовки, чтобы загрузить файл.

Смежные вопросы