Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Php(работа с файлами)

2.8K
26 декабря 2002 года
olegm
5 / / 26.12.2002
Я сделал загрузку на сервер в папку upload. И теперь хочу при помощи РНР просмотреть все содержимое папки, и сгенерировать список файлов в папке вместе с ссылками на них (файлы) чтобы можно-было загрузить. Проблема в том - чтобы просмотреть все файлы в папке. Не подскажете-ли как это сделать?
4
26 декабря 2002 года
mike
3.7K / / 01.10.2002
Sveiks !

Цитата:
Originally posted by olegm
Я сделал загрузку на сервер в папку upload. И теперь хочу при помощи РНР просмотреть все содержимое папки, и сгенерировать список файлов в папке вместе с ссылками на них (файлы) чтобы можно-было загрузить. Проблема в том - чтобы просмотреть все файлы в папке. Не подскажете-ли как это сделать?



dir

new dir(string directory);

Псевдо-объектно ориентированный механизм для чтения каталога. Открывает каталог из directory. Два реквезита доступно, если только каталог был открыт. Реквезит handle может быть использован вместе с другими функциями работы с каталогом типа readdir(), rewinddir() и closedir(). Реквезит path установлен путь каталога, который был открыт. Три метода доступны: чтение, возврат к началу и закрытие.

Пример:

$d = dir("/etc");
echo "Handle: ".$d->handle."
\n";
echo "Path: ".$d->path."
\n";
while($entry=$d->read()) {
echo $entry."
\n";
}
$d->close();

2.8K
27 декабря 2002 года
olegm
5 / / 26.12.2002
Цитата:
Originally posted by mike
Sveiks !



dir

new dir(string directory);

Псевдо-объектно ориентированный механизм для чтения каталога. Открывает каталог из directory. Два реквезита доступно, если только каталог был открыт. Реквезит handle может быть использован вместе с другими функциями работы с каталогом типа readdir(), rewinddir() и closedir(). Реквезит path установлен путь каталога, который был открыт. Три метода доступны: чтение, возврат к началу и закрытие.

Пример:

$d = dir("/etc");
echo "Handle: ".$d->handle."
\n";
echo "Path: ".$d->path."
\n";
while($entry=$d->read()) {
echo $entry."
\n";
}
$d->close();



Liels paldies par atbilde!

Но у меня вот что пишется:

Warning: access to /uploaded from /3w/wz.cz/o/olegm denied in /3w/wz.cz/o/olegm/uploaded.php on line 2
Warning: dir() [function.dir]: open_basedir restriction in effect. File(/uploaded) is not within the allowed path. in /3w/wz.cz/o/olegm/uploaded.php on line 2
Warning: dir(/uploaded) [function.dir]: failed to open dir: Operation not permitted in /3w/wz.cz/o/olegm/uploaded.php on line 2
Handle:
Path:
Fatal error: Call to a member function on a non-object in /3w/wz.cz/o/olegm/uploaded.php on line 5

В чем проблема?

2.8K
27 декабря 2002 года
olegm
5 / / 26.12.2002
http://olegm.wz.cz/uploaded.php - вот эта ошибка...
250
28 декабря 2002 года
Joker
1.4K / / 20.02.2000
Вот как можно получить список файлов.. (в тех искодники мне лень понимать):
<?Php
$handle=opendir('.');
while (($file = readdir($handle))!==false)
echo "
".$file;
?>
хотя в том коде тоже ошибки, нет просто хостер тебе не дает посмотреть корневой каталог, чтобы все заработало поставь текущий смени:

<?php
$d = dir(".");
echo "Handle: ".$d->handle."
\n";
echo "Path: ".$d->path."
\n";
while($entry=$d->read()) {
echo $entry."
\n";
}
$d->close();


?>
2.8K
28 декабря 2002 года
olegm
5 / / 26.12.2002
10x. Я немного переделал код в вот такой:

<?php
$d = dir(".");
echo "Handle: ".$d->handle."
\n";
echo "Path: ".$d->path."
\n";
while($entry=$d->read())
{
echo "".$entry."
\n";
}
$d->close();
?>

И положил в папку uploaded. Но как сделать, чтобы проверять $entry и если его значение - название файла - себя "uploaded.php" - его не писать? Просто народ может взять, и вместо моего файла загрузить что-нибудь свое.

http://olegm.wz.cz/uploaded/uploaded.php
250
28 декабря 2002 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by olegm
10x. Я немного переделал код в вот такой:

<?php
$d = dir(".");
echo "Handle: ".$d->handle."
\n";
echo "Path: ".$d->path."
\n";
while($entry=$d->read())
{
echo "".$entry."
\n";
}
$d->close();
?>

И положил в папку uploaded. Но как сделать, чтобы проверять $entry и если его значение - название файла - себя "uploaded.php" - его не писать? Просто народ может взять, и вместо моего файла загрузить что-нибудь свое.

http://olegm.wz.cz/uploaded/uploaded.php


Не понял проблемы:
<?php
$d = dir(".");
echo "Handle: ".$d->handle."
\n";
echo "Path: ".$d->path."
\n";
while($entry=$d->read())
{
if($entry!="uploaded.php")
echo "".$entry."
\n";
}
$d->close();
?>

2.8K
28 декабря 2002 года
olegm
5 / / 26.12.2002
Спасибо!:) Чё-то я не то делал:(...
583
03 января 2003 года
#define
150 / / 03.12.2002
А так не проще?:
$handle=opendir(".");
while($file = readdir($handle)) echo $file."
";
closedir($handle);
Вечно надо жизнь себе и скрипту усложнять?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог