Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / работа с файлами в php / 20 сообщений из 20, страница 1 из 1
11.12.2012, 21:31
    #38074886
noTpyJI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
Помогите! Я в php новичок!
можно ли сделать так:
есть пака "FTP" в ней->"1455" в ней->"file.txt" как вывести в виде таблице
№= названию папки 1455, имя файла = файлу в папке 1455, дата последнего изменения, статус

под статусом должна быть одна картинка если с момента изменения файла прошло больше 5 дней
или другая если это время не прошло

буду рад любой помощи!!!

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
<?php
$d = $_POST["go"];
$dir = $d;
$files1 = scandir($dir);

?>
<html>
<head>
	<title>arhive</title>
</head>
<body>

<table align="center" bgcolor="#cec5a2" border="1" cellpadding="2" cellspacing="0" width="100%">

<tr>
	<td colspan='7' bgcolor="a25f2a">
			<form action='./derevo-1.php' method='post'> Дериктория: <input type="text" name="go" size="50" VALUE="D:/server">
			<input type="submit"  value="перейти"></form>
	</td>
</tr>

<tr bgcolor="a25f2a">
	<td width="10%">№</td>
    <td width="20%">имя</td>
    <td width="30%">дата создания</td>
    <td width="30%">размер</td>
    <td>статус</td>
    <td>загрузка</td>
</tr>

<?php

$files1 = scandir($dir);
//print_r($files1);
foreach($files1 as $item){

?>
<tr align='left'>
	<td><?=$item?></td>
	<td><?=$item?></td>
	<td></td>
	<td></td>
	<td align='center'>
	<img src="./red.png" width='25' height="25"/></td>
	<td>
	<a href="#">скачать</a>
	</td>
</tr>
<?php
}
?>
<tr>
	<td colspan='7'> наски </td>
</tr>
</table>
</body>
</html>



Спасибо за внимание!!!
...
Рейтинг: 0 / 0
11.12.2012, 21:37
    #38074892
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
В чем проблема то?
...
Рейтинг: 0 / 0
11.12.2012, 21:58
    #38074907
noTpyJI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
авторесть пака "FTP" в ней->"1455" в ней->"file.txt" как вывести в виде таблице
№= названию папки 1455, имя файла = файлу в папке 1455, дата последнего изменения, статус
Не как не пойму как реализовать этот момент
...
Рейтинг: 0 / 0
11.12.2012, 23:13
    #38074958
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
Что из:
- получить список файлов указанной папки
- организовать цикл по элементам папки
- отличить внутри цикла файлы от всего остального
- получить дату изменения файла
- вычислить статус на основании разницы даты изменения и текущей
- собрать строку из нескольких значений
- собрать таблицу
- что-то другое
?

PS: Чего здесь делает file.txt или что делать с ним - я тоже не понял.
...
Рейтинг: 0 / 0
11.12.2012, 23:33
    #38074975
noTpyJI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
<?php
$d = $_POST["go"];
$dir = $d;
$files1 = scandir($dir);
function filesizepre($filesize){ 
	return round( ($filesize / 1024),1  ).k;  
}
?>
<html>
<head>
	<title>arhive</title>
</head>
<body>

<table align="center" bgcolor="#cec5a2" border="1" cellpadding="2" cellspacing="0" width="100%">

<tr>
	<td colspan='7' bgcolor="a25f2a">
			<form action='./derevo-1.php' method='post'> Дериктория: <input type="text" name="go" size="50" VALUE="D:/server">
			<input type="submit"  value="перейти"></form>
	</td>
</tr>

<tr bgcolor="a25f2a">
	<td width="10%">№</td>
    <td width="20%">имя</td>
    <td width="30%">дата создания</td>
    <td width="30%">размер</td>
    <td>статус</td>
    <td>действие</td>
</tr>

<?php

$files1 = scandir($dir);
//print_r($files1);
foreach($files1 as $item){

?>
<tr align='left'>
	<td><?=$item?></td>
	<td><?=$item?></td>
	<td><?=date("j-M-y h:i:a", $files)?></td>
	<td><?=filesizepre($item);?></td>
	<td align='center'><img src="./red.png" width='25' height="25"/></td>
	<td>
	donwload
	</td>
</tr>
<?php
}
?>
<tr>
	<td colspan='7'> носки </td>
</tr>
</table>
</body>
</html>


немного поправил! все ровно время создания не правильно показывает, и размер 0 к показывает!!!
автор№= названию папки 1455, имя файла = файлу в папке 1455
можно ли решить эту задачу если да то куда смотреть?
...
Рейтинг: 0 / 0
11.12.2012, 23:43
    #38074984
noTpyJI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
vkleЧто из:
- получить список файлов указанной папки
- организовать цикл по элементам папки
- отличить внутри цикла файлы от всего остального
- получить дату изменения файла
- вычислить статус на основании разницы даты изменения и текущей
- собрать строку из нескольких значений
- собрать таблицу
- что-то другое
?

PS: Чего здесь делает file.txt или что делать с ним - я тоже не понял.

-есть столбец №п/п в котором должно выводится название папок
-в столбец "имя" должно выводится содержимое папки (в папке будет находится файл например file.txt или bill.sql) из столбца №п/п
далее
-дата создания файла
-размер
-и столбец статус в случае если с момента создание файла прошло 5 дней или больше "устарел" или "нвоый"
...
Рейтинг: 0 / 0
11.12.2012, 23:58
    #38074995
phpz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
noTpyJIvkleЧто из:
- получить список файлов указанной папки
- организовать цикл по элементам папки
- отличить внутри цикла файлы от всего остального
- получить дату изменения файла
- вычислить статус на основании разницы даты изменения и текущей
- собрать строку из нескольких значений
- собрать таблицу
- что-то другое
?

PS: Чего здесь делает file.txt или что делать с ним - я тоже не понял.

-есть столбец №п/п в котором должно выводится название папок
-в столбец "имя" должно выводится содержимое папки (в папке будет находится файл например file.txt или bill.sql) из столбца №п/п
далее
-дата создания файла
-размер
-и столбец статус в случае если с момента создание файла прошло 5 дней или больше "устарел" или "нвоый"

Уточните: дата создания или все таки дата последней модификации, которая обычно выводится в подобного рода листингах.
...
Рейтинг: 0 / 0
12.12.2012, 00:13
    #38075002
noTpyJI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
phpznoTpyJIпропущено...


-есть столбец №п/п в котором должно выводится название папок
-в столбец "имя" должно выводится содержимое папки (в папке будет находится файл например file.txt или bill.sql) из столбца №п/п
далее
-дата создания файла
-размер
-и столбец статус в случае если с момента создание файла прошло 5 дней или больше "устарел" или "нвоый"

Уточните: дата создания или все таки дата последней модификации, которая обычно выводится в подобного рода листингах.

дата модификации
...
Рейтинг: 0 / 0
12.12.2012, 00:20
    #38075010
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
noTpyJI,

Вот сюда посмотри. Специально для таких целей создавалось.
...
Рейтинг: 0 / 0
12.12.2012, 00:27
    #38075014
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
Можно начать с чего-то такого:
Код: php
1.
2.
3.
4.
5.
6.
7.
$files1 = scandir($dir);
foreach($files1 as $item) {
    if(is_file($item)) {
        $stat = stat($item);
        var_dump($item, $stat);
    }
}

Дальше взять нужные значения из массива $stat перевести их в требуемую размерность.
...
Рейтинг: 0 / 0
12.12.2012, 00:30
    #38075016
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
noTpyJIпрошло 5 дней или большеПрошло пять полных дней, пять полных суток (как и первый вариант, с модификацией на поправку часового пояса), 5*24*60*60 секунд, другой вариант.
...
Рейтинг: 0 / 0
12.12.2012, 00:31
    #38075017
phpz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
noTpyJI,

Немного изменил на скорую руку
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
<?php
$repository = "/tmp";  // изменить на свое
$dir = isset($_POST["go"]) ? $_POST["go"] : $repository;
if (!is_dir($dir))
	$dir = $repository;

// http://stackoverflow.com/questions/2510434/php-format-bytes-to-kilobytes-megabytes-gigabytes
function formatBytes($bytes, $precision = 2)
{
    $units = array('B', 'KB', 'MB', 'GB', 'TB'); 
    $bytes = max($bytes, 0); 
    $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); 
    $pow = min($pow, count($units) - 1); 
    $bytes /= (1 << (10 * $pow));
    return round($bytes, $precision) . ' ' . $units[$pow]; 
}

function filesizepre($filename)
{
	if (file_exists($filename))
		return formatBytes(filesize($filename), 2);
	else
		return "0 KB";
}
?>
<html>
<head>
	<title>arhive</title>
</head>
<body>

<table align="center" bgcolor="#cec5a2" border="1" cellpadding="2" cellspacing="0" width="100%">
<tr>
	<td colspan='7' bgcolor="a25f2a">
		<form action="<?php echo $_SERVER["PHP_SELF"]?>" method="post"> Директория: <input type="text" name="go" size="50" VALUE="<?php echo htmlspecialchars($dir,ENT_QUOTES);?>">
		<input type="submit"  value="перейти"></form>
	</td>
</tr>
<tr bgcolor="a25f2a">
	<th width="10%">№</td>
    <th width="20%">имя</td>
    <th width="30%">дата изменения</td>
    <th width="30%">размер</td>
    <th>статус</td>
    <th>действие</td>
</tr>

<?php
$files1 = scandir($dir);
$counter = 1;
//print_r($files1);
foreach($files1 as $item)
{
	if ($item!="." && $item!=".." && is_file($dir . DIRECTORY_SEPARATOR . $item)) // не выводим директории
	{?>
	<tr align='left'>
		<td><?php echo $counter++; ?></td>
		<td><?php echo $item; ?></td>
		<td><?php echo date("j-M-y h:i:a", filemtime($dir . DIRECTORY_SEPARATOR . $item)); ?></td>
		<td><?php echo filesizepre($dir . DIRECTORY_SEPARATOR . $item); ?></td>
		<td align='center'><img src="./red.png" width='25' height="25"/></td>
		<td>download</td>
	</tr><?php
	}
}?>
<tr><td colspan='7'> носки </td></tr>
</table>
</body>
</html>


...
Рейтинг: 0 / 0
12.12.2012, 00:35
    #38075019
phpz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
Ну там со вложенными папками разберетесь (строка "не выводим...") :)
...
Рейтинг: 0 / 0
12.12.2012, 10:15
    #38075231
noTpyJI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
phpzНу там со вложенными папками разберетесь (строка "не выводим...") :)

То что нужно тока один момент
в место

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php
$files1 = scandir($dir);
$counter = 1;
//print_r($files1);
foreach($files1 as $item)
{
	if ($item!="." && $item!="..") // не выводим директории
	{?>
	<tr align='left'>
		<td><?php echo $counter++; ?></td>
		<td><?php echo $item; ?></td>



<td><?php echo $counter++; ?></td> <-- сюда нужно вывести название папки например 1455,
<td><?php echo $item; ?></td> сюда выводим содержимое этой папки например backup2.bak

Собственно спасибо!!! не ожидал такой помощи!!!!
Дальше буду работать по аналогии.
Если есть что еще посоветовать буду рад любой помощи.
...
Рейтинг: 0 / 0
22.12.2012, 01:54
    #38088927
noTpyJI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
Еще вопрос а можно ли ограничить количество записей например 10 и при нажатие <<-1-2-3....13->> перемещятся в перед назад
...
Рейтинг: 0 / 0
22.12.2012, 06:58
    #38088961
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
юзайте LIMIT в sql Запросе.
...
Рейтинг: 0 / 0
22.12.2012, 10:28
    #38088986
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
Только array_slice , потому как запроса тут нет.
...
Рейтинг: 0 / 0
22.12.2012, 13:25
    #38089068
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
vkleТолько array_slice , потому как запроса тут нет.
а точно, в 6 утра еще не проснулся)
...
Рейтинг: 0 / 0
22.12.2012, 13:54
    #38089080
noTpyJI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
прочитал мануал, по гуглил насовсем понял как реализовать мою задумку
Может кто поднимал эту тему на форуме?
или кусочек кода?
...
Рейтинг: 0 / 0
23.12.2012, 13:09
    #38089584
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлами в php
noTpyJI,

Дык... тема постраничного вывода вроде как уже со всех сторон обмусолена. В Вашем случае вместо привычных обращений к БД нужно обращаться к массиву. А в остальном - то же самое.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / работа с файлами в php / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]