Вопрос-Ответ по php

Печать RSS
6789
Кураторы темы:


Землянин
0
да я на хостинге тестировал smile когда на папке стоят права 777, то файлам по барабану какие права ставить smile будь это и 0644 или 0666, все равно запись производится. думаю нужно обратиться в поддержку хостинг-провайдера и узнать что к чему smile

Землянин
0
как мне сосчитать кол-во файлов, т.е. файлы, к примеру dat1.txt, имеющий строку 1|text|, и dat2.txt со строкой 2|text|, и моя задача сосчетатьвсе файлы, имеющих строку 1|text|, но не знаю как реализовать? пытался что-то, но не вышло правильно sad

Землянин
0
хотя нет, не надо, обойду эту белеберду! smile

Землянин
0
решил написать функцию подсчета файлов в дериктории! написал, но не рабочий sad помогите, разобраться

код:
<?php 
function f_count($dir) { 
$total = 0; 
if (is_dir($dir)) { 
$arrfiles = array(); 
$opdir = opendir($dir); 
while($file = readdir($opdir)) { 
if ($file != "." && $file != ".." && $file != ".htaccess") { 
$arrfiles[] = $file; 
closedir($opdir); 
}} 
$total = count($arrfiles); 
} 
return $total; 
} 
echo f_count("dat/"); 
?>
ошибка:
ReadDir (): 2 не является допустимым каталогом ресурсов

KinG`уренок
0
donsquad (14 Декабря 2010 / 10:36)
решил написать функцию подсчета файлов в дериктории! написал, но не рабочий sad помогите, разобраться


function f_count($dir) {
....
return $total;

Добавлено через 05:18 сек.
Давным давно glob() изобрели.
ru.php.net/glob
Изменил: Apeccc (14.12.2010 / 10:44)

Землянин
0
Apec (14 Декабря 2010 / 10:43)

Добавлено через 05:18 сек.
Давным давно glob() изобрели.
ru.php.net/glob
типа такого?
<?php
function count_files($dir) {
$arrfiles = array(); 
$globfiles = glob("$dir*.dat"); 
foreach ($globfiles as $filename) { 
$arrfiles[] = basename($filename, '.dat');  
}
$total = count($arrfiles);
return (int)$total;
}
?>
K

Транклюкаторщик
0
4056. donsquad,
<?php 
function count_files($dir) {   
return (int) count(glob("$dir/*.dat")); 
} 
?> 

Землянин
0
спасибо obana
как же все просто obana

Добавлено через 01:23 сек.
изобрел неведомо что! D буду читать про glob
В

Кодер
0
4058. donsquad, рекурсивный подсчет:
/** 
* Функция рекурсивного подсчета файлов в папке 
*/ 
function filedircount($dir) 
{ 
    $count = 0; 
       if ($objs = glob($dir."/*")) { 
        foreach($objs as $obj) { 
             if(is_dir($obj)) { 
                $count += filedircount($obj); 
            } else { 
                ++$count; 
            } 
        } 
   } 
   return $count; 
}

Землянин
0
вроде бы правильно все сделал, но выдает ошибку sad
<?php
# Функция замены и вывода смайлов 
function smiles($msg) { 
$arrsmiles = array(); 
$globsmiles = glob(IMGDIR."smiles/*.gif"); 
foreach ($globsmiles as $files) { 
$arrsmiles[] = basename($files, ".gif"); 
} 
rsort($arrsmiles); 
foreach ($arrsmiles as $val) { 
$msg = str_replace(':$val:', '<img src="'.IMGDIR.'smiles/'.$val.'.gif" alt="'.$val.'" />', $msg); 
} 
return $msg; 
}
?>
может вы увидете какую-нибудь ошибку. выдает Warning: Invalid argument supplied for foreach() in /home/vdru8795/public_html/search/top/inc/functions.php on line 6
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск