Вы не зашли.
Главная » PHP » Общие вопросы по PHP
#911. tipsun Off (19)
Moderator
2012.07.29 02:02
werwap написал:
привет, подскажите пожалоста как определить размер папки с файлами public_html/files
Как-то так.
Код:
span style="color: #0000BB"><?phpfunction size ($var){ if (is_dir($var)) { $d = dir($var); while (($entry = $d->read()) !== false) { if ('.' == $entry or '..' == $entry or 'php' == pathinfo($entry, PATHINFO_EXTENSION)) continue; $unit = $var . DIRECTORY_SEPARATOR . $entry; if (is_dir($unit)) { //$self = __FUNCTION__; //$result += $self($unit); $result += size($unit); } else { $result += filesize($unit); } } $d->close(); } else { $result = filesize($var); } return $result;}
Отредактировано tipsun (2012.07.29 02:02)
#912. werwap
Гость
2012.07.29 02:02
tipsun, большое спасибо
#913. Gemorroj Off (107)
Administrator
2012.07.29 10:10
werwap, рекурсивно читать папки и файлы в них, складывая размер.
#914. tipsun Off (19)
Moderator
2012.07.29 23:11
Можете привести пример, когда нужно использовать и как исключения:
не оборачивать же весь код файла в скобки try.
Код:
span style="color: #0000BB"><?phpfunction inverse($x) { if (!$x) { throw new Exception('Division by zero.'); } else return 1/$x;}try { echo inverse(5) . "\n"; echo inverse(0) . "\n";} catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n";}// Continue executionecho 'Hello World';
Из примера, я понимаю, что надо использовать когда есть всяко функции и классы.
Но код ими изобилует.
- - - -
Хоть что-то поконкретней
Код:
span style="color: #0000BB"><?php try { // код, который может выбросить исключение } catch(Exception $ex) { //$ex - экземпляр класса Exception // или его наследника }
Исключения нужны там, где код не просто вот так в 10 строк умещается, а где есть сложные структура и иерархии классов, каждый содержит тьму методов, где идут всякие делегации-декорации и прочие паттеры. И тогда throw делается в одном месте (где ошибка выявлена), а catch -- где-то далеко-далеко, где эту ошибку могут обработать.

Плюс ко всему, отличие исклчений от die() в том, что исключение на каком-то промежуточном этапе можно поймать, и, на усмотрение, полностью обработать (например, делать insert, а при DbUniqueError делать update; это если нету replace или insert on duplicate update как в MySQL), перевкинуть другое исклоючение (например, заменить DbUniqueError на EmailALreadyUsedError), или сделать окаточный код (например, rollback) и кинуть исходное исключение.
http://wiki.agiledev.ru/doku.php?id=ooa … tion_using
http://i-novice.net/obrabotka-isklyuchi … j-chast-1/
#915. Gemorroj Off (107)
Administrator
2012.07.30 10:10
tipsun, исключения хорошо вписываются в mvc модель. когда модель кидает исключение. а контроллер его перехватывает.
#916. tipsun Off (19)
Moderator
2012.07.30 16:04
Gemorroj, спс.
#917. tipsun Off (19)
Moderator
2012.07.31 21:09
POFIGISST написал:
Млин,возник такой вопрос, есть код javascript всунутый в страницу,но незнаю как сделать функцию if else,вот там кусок кода
Мне нужно сделать,чтоб если переменная например $zz == 2 то чтоб выводило выводило строки смайлов и цветов, а если $zz != 2 то чтоб скрывалась эта панелька со смайлами и цветами,подскажите плиз как в этом случае сделать if else?
Код:
span style="color: #0000BB"><?phpecho '</table><br /></td><td class="textmes">';/*******************************************************/?><div class='anput'><script language="JavaScript" type="text/javascript"> function tag(text1, text2) { if ((document.selection)) { document.message.msg.focus(); document.message.document.selection.createRange().text = text1+document.message.document.selection.createRange().text+text2; } else if(document.forms['message'].elements['msg'].selectionStart!=undefined) { var element = document.forms['message'].elements['msg']; var str = element.value; var start = element.selectionStart; var length = element.selectionEnd - element.selectionStart; element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length); document.forms['message'].elements['msg'].focus(); } else document.message.msg.value += text1+text2; document.forms['message'].elements['msg'].focus();}</script><div style="margin:2px;padding:1px;border:1px solid #333">Цвета: <a href="javascript:tag('[red]', '[/red]')"><img src="/style/bb/re.png" alt="red" title="Красный"/></a> <a href="javascript:tag('[green]', '[/green]')"><img src="/style/bb/gr.png" alt="green" title="Зелёный"/></a><a href="javascript:tag('[blue]', '[/blue]')"><img src="/style/bb/bl.png" alt="blue" title="Синий"/></a><br />Cмайлы:<a href="javascript:tag(':-*','')"><img src="/style/smiles/lips.gif" alt=":-*" title=":-*"/></a> <a href="javascript:tag('.ковыр2.','')"><img src="/style/smiles/kovyr2.gif" alt="ковыр" title="ковыр2"/></a><a href="javascript:tag('.ах.','')"><img src="/style/smiles/ah.gif" alt="ах" title="ах"/></a><a href="javascript:tag('.дум.','')"><img src="/style/smiles/dum.gif" alt="дум" title="дум"/></a><a href="javascript:tag('.дружба.','')"><img src="/style/smiles/druzhba.gif" alt="дружба" title="дружба"/></a><a href="javascript:tag(':-D','')"><img src="/style/smiles/biggrin.gif" alt=":-D" title=":-D"/></a><a href="javascript:tag('.ржу.','')"><img src="/style/smiles/rzhu.gif" alt="ржу" title="ржу"/></a><a href="javascript:tag('.неа.','')"><img src="/style/smiles/nea.gif" alt="неа" title="неа"/></a><a href="javascript:tag('.лол.','')"><img src="/style/smiles/lol.gif" alt="лол" title="лол"/></a><a href="javascript:tag('.кофе.','')"><img src="/style/smiles/kofe.gif" alt="кофе" title="кофе"/><a href="javascript:tag('.курит.','')"><img src="/style/smiles/kurit.gif" alt="кур" title="курит"/></a><a href="javascript:tag('.гы.','')"><img src="/style/smiles/gy.gif" alt="гы" title="гы"/></a><a href="javascript:tag('.глаза.','')"><img src="/style/smiles/glaza.gif" alt="глаза" title="глаза"/></a></div></div><?php/*******************************************************/echo "<form method='post' name='message' action='/mail.php?id=$ank[id]&amp;" . rand(1000, 9999) . "' enctype='multipart/form-data'>\n";
#918. tipsun Off (19)
Moderator
2012.07.31 23:11
POFIGISST,
так делал?
Код:
span style="color: #0000BB"><?phpif ($zz == 2): ?>js code<?phpendif;?>
#919. POFIGISST Off (6)
Участник
2012.07.31 23:11
tipsun
Спасибо большое,работает))
#920. werwap
Гость
2012.08.03 23:11
привет, у меня сервис сайтов грузит очень БД, можно както испольэовать 2 БД для одного скрипта?
Страниц: 190 91 92 93 94118 Все
Главная
WEB
PunBB Mod v0.6.2
0.038 s