Мне нужно загрузить через web-интерфейс файлы, чтобы их можно было скачать, никак не могу понять почему скаченные файлы говорят что у них неправильное расширение
вот код
index.php
if($_SESSION['access']=='Admin')
{require 'upload.php';}
}
$dir = $_SERVER['DOCUMENT_ROOT'].'/files/';
$files = scandir($dir);
$a = count($files);
$date=date('d/m/y H:i:s');
for ($i = 2; $i < $a; $i++)
{
$fullfile = $dir.$files[$i];
$file = $files[$i];
$fsize = round(filesize($fullfile)/1024);
if (
(!empty($file))
&&
($file!==' ')
&&
($file!=='.')
&&
($file!=='..')
&&
($file!=='.htaccess')
&&
($file!=='Index.php')
&&
(filesize($fullfile)>0))
{
$sqlSel = "SELECT *
FROM $db_files
Where `name`='$file'
ORDER BY `date` DESC";
$resSel = mysql_query($sqlSel);
$num = mysql_num_rows($resSel);
$myr = mysql_fetch_assoc($resSel);
$List.='<li>Дата: <b>'.$myr['date'].'</b></br>Размер: <b>'.$myr['size'].' Кб</b> <a href="'.$myr['link'].'" target="_blank">Скачать</a></br></li>';}
if ($num == '0')
{$link="/files/?file=".$file;
$sqlIn = mysql_query("INSERT INTO $db_files
(`name`,`size`,`date`,`link`)
VALUES ('$file','$fsize','$date','$link')");
}
}
upload.php
if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
{
move_uploaded_file($_FILES["filename"]["tmp_name"], "files/".$_FILES["filename"]["name"]);
echo '<meta http-equiv="refresh" content="5; url=/">';
}
index.tpl
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="filename"></br>
<input type="submit" value="Загрузить"></br>
<hr>
<h4>Файлы на сервере:</h4>
<h5><font color="red">ВНИМАНИЕ! Файлы отсортированы в обратном порядке. Новые файлы в начале списка.</font></h5>
<ol>
{FMSG.Files}
</ol>
</form>
Спустя 2 дня, 15 часов, 42 минуты, 59 секунд (9.04.2012 - 05:01) Guest написал(а):
Up
Спустя 46 минут, 22 секунды (9.04.2012 - 05:47) Игорь_Vasinsky написал(а):
Я вот тоже не могу понять
Цитата |
никак не могу понять почему скаченные файлы говорят что у них неправильное расширение |
скаченные говорят? на компе уже?
Спустя 8 минут, 49 секунд (9.04.2012 - 05:56) Guest написал(а):
да. там xls (xlsx) файлы, офис на них ругается
Спустя 17 минут, 11 секунд (9.04.2012 - 06:13) I++ написал(а):
$link="/files/?file=".$file;
Если через скрипт отдается файл, то php отдает весь файл апачу, а потом завершается и апач разрывает соединение и не дает докачать остатки.
Если нужно сделать левое имя файлу и чтобы знал только 1 пользователей изучите симлинки в unix.
Спустя 5 часов, 7 минут, 54 секунды (9.04.2012 - 11:21) Guest написал(а):
I++
Не совсем понял. Как решить эту траблу?
Не совсем понял. Как решить эту траблу?
Спустя 2 минуты, 51 секунда (9.04.2012 - 11:24) I++ написал(а):
Прямую ссылку на файл давай, а не через скрипт отдавай.
Спустя 3 часа, 23 минуты, 59 секунд (9.04.2012 - 14:48) Guest написал(а):
Ну так это и есть прямая ссылка.
Мне нужно просканировать папку и найти в ней все файлы, на каждый из этих файлов сгенерировать ссылку.
Мне нужно просканировать папку и найти в ней все файлы, на каждый из этих файлов сгенерировать ссылку.
Спустя 23 часа, 24 минуты, 35 секунд (10.04.2012 - 14:12) Guest написал(а):
up
Спустя 8 минут, 41 секунда (10.04.2012 - 14:21) I++ написал(а):
Цитата (Guest @ 9.04.2012 - 15:48) |
Ну так это и есть прямая ссылка. Мне нужно просканировать папку и найти в ней все файлы, на каждый из этих файлов сгенерировать ссылку. |
Ну дак проверь файл после скачки хэш функцией пройдись на оригинал, а потом на скаченный файл.
Если хеши не совпадут, значит косяк.
Попробуй пустой файл загрузить, затем скачать.
И ссылки дай на 2 этих файла я их посмотрю и скажу причину почему они различаются.
Спустя 15 часов, 36 минут, 38 секунд (11.04.2012 - 05:58) Guest написал(а):
Проект в локалке.
Как ещё можно сделать? Есть какие-нибудь альтернативные способы?
Как ещё можно сделать? Есть какие-нибудь альтернативные способы?
Спустя 28 минут, 31 секунда (11.04.2012 - 06:26) Игорь_Vasinsky написал(а):
Цитата |
Цитата (Guest @ 9.04.2012 - 15:48) Ну так это и есть прямая ссылка. Мне нужно просканировать папку и найти в ней все файлы, на каждый из этих файлов сгенерировать ссылку. Ну дак проверь файл после скачки хэш функцией пройдись на оригинал, а потом на скаченный файл. Если хеши не совпадут, значит косяк. |