ramzes, тут мододелов осталось то... если десяток наберется и то хорошо. загруз переписывать чужой нет желания, а делать что то конкурирующее много и долго
ну х.з. я в одиночку который уже по счету движок пишу? вантуз пишет один, альк тоже все сам, даже десюре вроде в одно лицо дцм писал.
да все пишут. вон маразм пачками моды клепает вижу
было бы желание;)
ramzes, я пишу иногда по настроению, микроскриптики
http://annimon.com/forum/?act= ... 67783 тз в первом посте темы той, интересное решение сделать большой объем данных не выходя за лимиты выполнения пхп скрипта
вот нелюблю я с внешними данными работать) вот хоть режь меня)
с внутренними что угодно наверное могу сделать, даже рисунок на основе текста как то генерил гг, ужас че там набыдлокодил тогда))
по сабжу, загруз без плюшек пишется 2-3 часа.
не стану обещать, ибо точно не выполню, но если когдани будь, то оно конечно)
каркас короче накатать могу быстро, если настроение будет.
но на mysqli исключительно)
ramzes, основу я за пол часа напишу)) , но на белой странице =)
и вообще на файлах ))
с бд, на мускули, неограниченная вложенность, настраиваемые типы файлов, вывод, скачивание, топ\новые\актуальные
скриншот, правильная генерация метатегов.
без редактирования\переноса\удаления
это я под основой подразумеваю)
без разметки конечно. точнее, с минимальной
ramzes, да я про тупо загрузить и отдать, с верным именем, пусть далее сами колдуют, принцип показать
быдлокод (+/-)
<?php
ob_start();
$dnldir = 'data/files/';
$infodir = 'data/info/';
$datafile = 'data/files.dat';
function dnl($dnl) {
global $dnldir, $infodir;
$data = explode('###', file_get_contents($infodir . $dnl));
$file = file_get_contents($dnldir . $dnl);
header('Content-Type: application/force-download');
header('Content-Description: inline; File Transfer');
header('Content-Disposition: attachment; filename="' . $data[0] . '";', false);
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . strlen($file));
#readfile($dnldir . $data[1]);
echo $file;
exit;
}
if (isset($_GET['dnl'])) {
$dnl = $_GET['dnl'];
dnl($dnl);
}
if (isset($_POST['submit']) && !empty($_FILES['file']['name'])) {
$filename = substr(md5(uniqid(time())), 0, 8);
file_put_contents($dnldir . $filename, file_get_contents($_FILES['file']['tmp_name']));
$data = basename($_FILES['file']['name']) . '###' . $filename . PHP_EOL;
file_put_contents($datafile, $data, FILE_APPEND | LOCK_EX);
file_put_contents($infodir . $filename, $data);
echo '<h3>Downloaded</h3>';
header('Refresh: 1; URL=?');
exit;
} else {
echo '<pre>' . print_r($_FILES, 1) . '</pre>';
}
echo '<h2>Test dnl</h2>';
echo '<form action="" enctype="multipart/form-data" method="post">
<input name="file" type="file" />
<input type="submit" name="submit" value="Загрузить" />
</form>';
$files = file($datafile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach($files as $key => $file) {
$fileinfo = explode('###', $file);
echo '<div><a href="?dnl=' . $fileinfo[1] . '">' . $fileinfo[0] . '</a></div><hr />';
}
совсем забыл простые вещи, косячил на банальном, но написал, проверил
отдачу (заголовки) возьми из моей темы))
ramzes, да там не суть, главный заголовок с именем присутствует и что файл надо на загрузку отдать, а не как тут в загрузе, ссылка просто на физический файл на сервере, то есть его русскими буквами если назвать будет :жопа:
сразу отпадает нужда проверки расширений или имени, любого рода файл тупо в байтах хранится
я там не пилил кучу проверок на существование файла или папки, кто захочет разобраться думаю догадается папки сделать