[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP проводник, для файлового сервера
Adrnin
Здравствуйте!
Не судите строго!
Есть файловый сервер на апаче, решил написать что-то типа Вэб проводника на ПХП, так что бы все операции крутились в одном файле путем изменения переменных:
Нашел в сети кусок кода, теперь голову ломаю! Помогите нубу)))

<?php
$dir = '/var/****/';

$f = scandir($dir);

foreach ($f as $file){
if(preg_match('/\.()/', $file)){

// здесь условие
//if (basename($file) == 'этот файл не трогать') continue;
echo $file.'<br/>';

}
}
?>

У кого какие могут быть идеи? Я новичек.
Adrnin
Порезал до такого состояния:

<?php
$dir = '.';
$f = scandir($dir);

foreach ($f as $file){
echo '<a href="'.$file.'">'.$file.'<br/>';
}
?>

И закинул в каждую директорию но это не вариант
Игорь_Vasinsky
почитайте про рекурсивные функции

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Undertaker
Adrnin
Лично я ничего не понял... Какие операции крутятся, что? откуда?
Если web проводника то формируй список
определяй для каждого значения файл или папка
если папка, сформировать список по новой (и так по рекурсии)
Не забудь проверку если переменная ==.. or ==.
Потом кидай красивость при необходимости

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
Adrnin
Ок, буду думать!
Adrnin
Сделал примитивщину, робит чу-чуть:
http://fs.net75.ru/list.php

<meta charset="utf-8">
<form enctype="multipart/form-data" action="list.php" method="post">

<?php
$url = 'http://fs.net75.ru/'.$_POST['link'];
$dir = '/var/srv/fs.net75.ru/'.$_POST['link'];
$f = scandir($dir);

foreach ($f as $file) {
echo '<input type="radio" Name="link" value='.$file.'>'.$url.'/'.$file.'<br>';
}

?>

<input type="submit" name"submit" value="Go!">
<?php
//echo $dir;
?>
Игорь_Vasinsky
чё-то мутно как-то)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Adrnin
А я по другому не умею пока что)))
А тут вообще помочь кто-нибудь может или тут только обсуждение?
inpost
Ты показываешь почти готовый код и не объясняешь проблем своих.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Adrnin
Ситуация такая, что не могу уйти дальше одной директории (пример: dir=dir+newdir), но не получается, потом как можно разделить файлы и папки, так что бы файлы можно было скачивать по ссылке, а по папкам только передвигаться...

При попытке перейти в http://fs.net75.ru/Huawei_MediaPad10Link/ERoot попадаю в http://fs.net75.ru/ERoot/ а должно показывать содержимое http://fs.net75.ru/Huawei_MediaPad10Link/ERoot
inpost
ты передаёшь только ИМЯ eroot, а необходимо делать одно из двух:
1) Передавать ПОЛНЫЙ ПУТЬ, то есть "Huawei_MediaPad10Link/ERoot"
2) Запоминать твой путь иным путём.
Выбирай один из вариантов, но тебе надо полный путь передавать, а не только прогоняя через foreach подставлять ТОЛЬКО(!) имя.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Adrnin
Да,да! Я уже понял, возник вопрос как? ))) Я же только учусь!
Что то типа массива?!?!
a1 = сервер/папка
a2 = новая папка
a3 = a1+a2 = сервер/папка/новая папка
Adrnin
Может кто помочь?
inpost
Adrnin
Смотря о каком массиве. Задумайся над тем, что тебе известно уже.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
killer8080
Цитата (Adrnin @ 18.10.2013 - 14:38)
$dir = '/var/srv/fs.net75.ru/'.$_POST['link'];

так делать нельзя, через эту дырку можно получить доступ к любому файлу на сервере, доступному на чтение юзеру, под которым исполняется скрипт.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.