Adrnin
18.10.2013 - 11:27
Здравствуйте!
Не судите строго!
Есть файловый сервер на апаче, решил написать что-то типа Вэб проводника на ПХП, так что бы все операции крутились в одном файле путем изменения переменных:
Нашел в сети кусок кода, теперь голову ломаю! Помогите нубу)))
<?php
$dir = '/var/****/';
$f = scandir($dir);
foreach ($f as $file){
if(preg_match('/\.()/', $file)){
// здесь условие
//if (basename($file) == 'этот файл не трогать') continue;
echo $file.'<br/>';
}
}
?>
У кого какие могут быть идеи? Я новичек.
Adrnin
18.10.2013 - 13:00
Порезал до такого состояния:
<?php
$dir = '.';
$f = scandir($dir);
foreach ($f as $file){
echo '<a href="'.$file.'">'.$file.'<br/>';
}
?>
И закинул в каждую директорию но это не вариант
Игорь_Vasinsky
18.10.2013 - 13:25
почитайте про рекурсивные функции
_____________
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
18.10.2013 - 13:33
Adrnin
Лично я ничего не понял... Какие операции крутятся, что? откуда?
Если web проводника то формируй список
определяй для каждого значения файл или папка
если папка, сформировать список по новой (и так по рекурсии)
Не забудь проверку если переменная ==.. or ==.
Потом кидай красивость при необходимости
_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
Adrnin
18.10.2013 - 13:40
Ок, буду думать!
Adrnin
18.10.2013 - 15:38
Сделал примитивщину, робит чу-чуть:
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
18.10.2013 - 15:49
чё-то мутно как-то)
_____________
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
18.10.2013 - 16:00
А я по другому не умею пока что)))
А тут вообще помочь кто-нибудь может или тут только обсуждение?
inpost
18.10.2013 - 16:11
Ты показываешь почти готовый код и не объясняешь проблем своих.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Adrnin
18.10.2013 - 16:19
Ситуация такая, что не могу уйти дальше одной директории (пример: dir=dir+newdir), но не получается, потом как можно разделить файлы и папки, так что бы файлы можно было скачивать по ссылке, а по папкам только передвигаться...
При попытке перейти в
http://fs.net75.ru/Huawei_MediaPad10Link/ERoot попадаю в
http://fs.net75.ru/ERoot/ а должно показывать содержимое
http://fs.net75.ru/Huawei_MediaPad10Link/ERoot
inpost
18.10.2013 - 16:41
ты передаёшь только ИМЯ eroot, а необходимо делать одно из двух:
1) Передавать ПОЛНЫЙ ПУТЬ, то есть "Huawei_MediaPad10Link/ERoot"
2) Запоминать твой путь иным путём.
Выбирай один из вариантов, но тебе надо полный путь передавать, а не только прогоняя через foreach подставлять ТОЛЬКО(!) имя.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Adrnin
18.10.2013 - 16:43
Да,да! Я уже понял, возник вопрос как? ))) Я же только учусь!
Что то типа массива?!?!
a1 = сервер/папка
a2 = новая папка
a3 = a1+a2 = сервер/папка/новая папка
Adrnin
19.10.2013 - 18:24
Может кто помочь?
inpost
19.10.2013 - 18:49
AdrninСмотря о каком массиве. Задумайся над тем, что тебе известно уже.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
killer8080
20.10.2013 - 15:09
Цитата (Adrnin @ 18.10.2013 - 14:38) |
$dir = '/var/srv/fs.net75.ru/'.$_POST['link']; |
так делать нельзя, через эту дырку можно получить доступ к любому файлу на сервере, доступному на чтение юзеру, под которым исполняется скрипт.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.