PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (4): « 1 2 [3] 4 »

> Найдено сообщений: 54
alexpebody Отправлено: 01 Июля, 2015 - 13:48:51 • Тема: Переименование а после загрузки на сервер • Форум: Вопросы новичков

Ответов: 6
Просмотров: 315
Всем приветы!

Друзья подскажите пожалуйста, есть неплохой скрипт мульти загрузки файлов, нужно после копирования на сервер их каждый переименовать, кто может, гляньте где ошибка, т.к. переименовывает только 1 файл, хотя в цикле все вроде ок. Заранее всем спасибо!!!

index.php:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <script>
  2. function xdropFile(btn)
  3. {
  4. if(document.getElementById)
  5. {
  6.  tr = btn;
  7.  while (tr.tagName != 'TR') tr = tr.parentNode;
  8.  tr.parentNode.removeChild(tr);
  9.  checkForLast();
  10. }
  11. }
  12. function xaddFile(btn)
  13. {
  14. if(document.getElementById)
  15. {
  16.  tr = btn;
  17.  while (tr.tagName != 'TR') tr = tr.parentNode;
  18.  var idSuffix = Math.round(Math.random()*1000);
  19.  var newTr = tr.parentNode.insertBefore(tr.cloneNode(true),tr.nextSibling);
  20.  thisChilds = newTr.getElementsByTagName('td');
  21.  for (var i = 0; i < thisChilds.length; i++)
  22.  {
  23.   if (thisChilds[i].className == 'header') thisChilds[i].innerHTML = '';
  24.   if (thisChilds[i].className == 'files') thisChilds[i].innerHTML = '<input size="32" name="xtt[]" class="wideFile" type="file">';
  25.  }
  26.  checkForLast();
  27. }
  28. }
  29. function checkForLast()
  30. {
  31. btns = document.getElementsByName('xdrop');
  32. for (i = 0; i < btns.length; i++)
  33. {
  34.  btns[i].disabled = (btns.length == 1) ? true : false;
  35.  }
  36. }
  37. </script>
  38. <body>
  39. <form action="upload.php" method="post" name="form" ENCTYPE="multipart/form-data" align="center">
  40.  <table width=20% align=center>
  41.   <tr>
  42.           <td width="20%"><input type="file" size="32" name="xtt[]"></td>
  43.           <td nowrap="nowrap">
  44.                  <input type="button" name="xdrop" value=" &minus;" onClick="xdropFile(this);">
  45.                  <input type="button" value=" + " onClick="xaddFile(this);">
  46.           </td>
  47.   </tr>
  48.  </table>
  49.  <input name="" type="submit">
  50. </form>
  51. </body>


upload.php:
PHP:
скопировать код в буфер обмена
  1. <?
  2. global $rstring;
  3. function RString($max=6) {
  4. $i = 0; //Reset the counter.
  5. $possible_keys = "0123456789abcdefghijklmnopqrstuvwxyz";
  6. $keys_length = strlen($possible_keys);
  7. $str = ""; //Let's declare the string, to add later.
  8. while($i<$max) {
  9. $rand = mt_rand(1,$keys_length-1);
  10. $str.= $possible_keys[$rand];
  11. $i++;
  12. }
  13. return $str;
  14. }
  15. $rstring = RString();
  16. for($i=0;$i<count($_FILES['xtt']['name']);$i++)
  17. {
  18. $uploaddir = 'files/';
  19. $uploadfile = $uploaddir . basename($_FILES['xtt']['name'][$i]);
  20. move_uploaded_file($_FILES['xtt']['tmp_name'][$i], $uploadfile);
  21. }
  22. foreach ($_FILES['xtt']['name'] as $fnum=>$link)
  23. rename('files/'.$link, 'files/'.$GLOBALS['rstring']);
  24. ?>
  25. </body>
  26. </html>
alexpebody Отправлено: 16 Сентября, 2014 - 10:32:48 • Тема: Сортировка по Include • Форум: Вопросы новичков

Ответов: 2
Просмотров: 116
Сделал вот так, всем спс!
PHP:
скопировать код в буфер обмена
  1.  
  2. $dir = 'shop';
  3. $files = scandir($dir);
  4. sort($files);
  5. foreach ($files as $file) {
  6.     if ($file != '.' && $file != '..') {
  7.         @include ("shop/$file"); //echo "<br>";
  8.     }
  9. }
alexpebody Отправлено: 16 Сентября, 2014 - 10:21:05 • Тема: Сортировка по Include • Форум: Вопросы новичков

Ответов: 2
Просмотров: 116
Доброго дня уважаемые!

Что то никак не въеду, как отсортировать выведение файлов вот поэтому скрипту:
CODE (htmlphp):
скопировать код в буфер обмена
  1. if ($handle = opendir('shop')) {
  2.     while (false !== ($file = readdir($handle))) {
  3.         if ($file != "." && $file != "..") {
  4.            @include ("shop/$file"); //echo "<br>";
  5.         }
  6.     }
  7.     closedir($handle);
  8. }

Смысл вывести содержимое файлов php, т.е. выведение по инклуду, но в порядке нужном мне?
Сейчас файлы name1.php, name2.php... и т.д. выводятся вразброс в итоге построчно имею выведение инклудом но в разноброс,
мне нужно чтобы вывод был скажем по именам файлов с 1 по... 10 и с A по... Z, т.е. обычном алфавитном порядке. Есть идеи без массива?

Заранее спасибо!!!
alexpebody Отправлено: 13 Января, 2014 - 07:11:04 • Тема: День недели по дате • Форум: Вопросы новичков

Ответов: 3
Просмотров: 187
Спасибо, так и подумал, решил вот так:

echo getDay($year,$mon,$day);

Язычок Радость

Всем спасибо, видимо не проснулся я.
alexpebody Отправлено: 13 Января, 2014 - 05:10:01 • Тема: День недели по дате • Форум: Вопросы новичков

Ответов: 3
Просмотров: 187
Добрый день уважаемые!

Есть скрипт:

PHP:
скопировать код в буфер обмена
  1. <?
  2. function getDay($year,$mon,$day)
  3. {
  4.         $days = array("воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота");
  5.         $day = (int)$day; //если день двухсимвольный и <10
  6.         $mon = (int)$mon; //если месяц двухсимвольный и <10
  7.         $a = (int)((14 - $mon) / 12);
  8.         $y = $year - $a;
  9.         $m = $mon + 12 * $a - 2;
  10.         $d = (7000 + (int)($day+$y+ (int)($y/4) - (int)($y/100) + (int)($y/400) + (31*$m)/12))%7;
  11.         return $days[$d];
  12. }
  13.  
  14. echo getDay(2011,12,27);
  15. ?>


Все работает, но мне нужно делать вывод так:

PHP:
скопировать код в буфер обмена
  1. $var = "2011,12,27";
  2. echo getDay($var);


Вот так нифига не работает, можете подсказать где туплю и почему нельзя подставить переменную в которой та же дата? Заранее спасибо!!!
alexpebody Отправлено: 09 Августа, 2013 - 05:25:14 • Тема: htccess REWRITE RULE? • Форум: Вопросы новичков

Ответов: 0
Просмотров: 79
Добрый день уважаемые комрады!

Что то я запарился немного, перерыл кучу литературы, добился реврайта, но вот какая штука:

Есть хост, на хосте папка: dir в папке сайт, домен: dir.ru итого реврайт:

RewriteCond %{HTTP_HOST} ^dir
RewriteRule ^/?$ dir [L]


При наборе и переходе по: http://dir.ru получаем http://dir.ru/dir это все верно т.к. сайт находится не в корне хостинга, так и надо, НО:

КАК СДЕЛАТЬ ЧТОБЫ ОТОБРАЖАЛАСЬ СТРОКА АДРЕСА не так: http://dir.ru/dir а так: http://dir.ru но сайт бы работал из папки dir??? Т.е. оставить включенным правило, но отображение в строке адреса сделать нормальным!?

Заранее ОЧЕНЬ БЛАГОДАРЕН всем кто поможет!
alexpebody Отправлено: 15 Мая, 2013 - 04:19:39 • Тема: Как добавить элемент в массив? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 434
Можно еще вопросик последний ) в скрипте сортируется время ПОСЛЕДНЕЙ ошибки и выводится сейчас так: ла ла ла... ошибки связи по IP: 192.168.0.1 = 1, последняя была зафиксирована в: 13:33:08 [Cвязь с сервером прервана.], а как добавить чтобы было так:

ла ла ла... ошибки связи по IP: 192.168.0.1 = 1, ПЕРВАЯ БЫЛА ЗАФИКСИРОВАНА В 12:00:00, последняя была зафиксирована в: 13:33:08 [Cвязь с сервером прервана.]

Насколько я понимаю, в скрипте идет обработка: $lastEvent = each($events);, а вот как получить ПЕРВОЕ СОБЫТИЕ Улыбка чето я не совсем догоняю.

Поясню, вывод таков:
14.05.2013|16:47:36|192.168.0.1|Cвязь с сервером прервана. - первое время в таблице по данному IP
14.05.2013|19:01:56|192.168.0.1|Cвязь с сервером прервана. - последнее время в таблице по данному IP

У меня в коде выводится последнее время ($lastEvent[0]), а как вывести еще и ПЕРВОЕ ВРЕМЯ 16:47:36???

Добрые люди, подскажите плз., очень нужно чтобы скрипт выполнял все что требуется, ЗАРАНЕЕ БУДУ БЛАГОДАРЕН!!! ::wink24.gi
alexpebody Отправлено: 14 Мая, 2013 - 16:43:56 • Тема: Как добавить элемент в массив? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 434
Мелкий пишет:
Сокращённый синтаксис массива


Это я понял, но когда писал также array(); что то тоже невкурил хост ) че там стоит версия уже непомню! СПАСИБО ВСЕМ БОЛЬШОЕ!!!!!!!
alexpebody Отправлено: 14 Мая, 2013 - 13:01:15 • Тема: Как добавить элемент в массив? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 434
LIME Вот это уже отличный пример, буду пробовать, СПАСИБО ОГРОМНОЕ!!!! Ха-ха

Вот только пишет мне: Parse error: syntax error, unexpected '[' in /home/index.php on line 78

78:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $titles=['170.40.60.160'=>'Дом'];
  3.  
alexpebody Отправлено: 14 Мая, 2013 - 12:51:54 • Тема: Как добавить элемент в массив? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 434
DlTA пишет:
туда добавляете/заменяете


Даже ЭТО я уже вкурил, НО КАК ИМЕННО подставить в массив скажем для IP 192.168.0.1 титл = Дом? А для 192.168.0.2 титл Работа? Недовольство, огорчение Как без поиска и замены это сделать? Мне нужно сделать таблицу соответствия и из нее чтоб скрипт делал сопоставления, как это сделать можете пример сделать на основе указанного скрипта? Заранее спасибо! Закатив глазки

ПыСы. Если сделать просто титл в переменную $text то эта титла будет для каждого IP в выводе, а мне нужно именно для каждого IP свою титлу...
alexpebody Отправлено: 14 Мая, 2013 - 12:46:24 • Тема: Как добавить элемент в массив? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 434
DlTA пишет:
а откуда должен браться текст для title?


Текст может быть статический (в сомом исполняющем файле php), например для IP 192.168.0.1 присвоить титл = Дом, для IP 192.168.0.2 присвоить титл = Работа, и т.д. и тогда при наведении в таблице они бюы отображались именно для своих ИПов.
alexpebody Отправлено: 14 Мая, 2013 - 12:43:12 • Тема: Как добавить элемент в массив? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 434
DlTA пишет:
сложность в создании верстки или в определении описания?


С версткой нет проблем, нужно кодом прикрутить чтобы просто вывод был тот что задании, т.е. при наведении на IP в таблице, высвечивались присвоенные TITLE, очень надо. Не понял Я никак не могу вкурить в каком месте в массив сделать сопоставление TITLE к IP, чтобы в масиве для каждого IP (полученного из файла logping.txt) был присвоен ручками текстовый титл.
alexpebody Отправлено: 14 Мая, 2013 - 11:32:08 • Тема: Как добавить элемент в массив? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 434
Crate пишет:
Вся магия в ней.


Это понятно, я могу прикрутить в нее саму тегу TITLE но как прикрутить к каждому IP свой титл??? Колдовал дня 2, кроме как переписывать код или внедрять подмену в таблицу ничего не придумал... Но это все как то по нубски (( нужно именно присвоение каждой ячейке совпавшей с IP в массиве присвоить нужный титл, ВОТ КАК ЭТО СДЕЛАТЬ??? Печаль... Недовольство, огорчение
alexpebody Отправлено: 14 Мая, 2013 - 10:28:23 • Тема: Как добавить элемент в массив? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 434
Добрый день уважаемые комрады, помогите плз., нужно выполнить следующее, есть хороший скрипт:

Содержание файла: logping.txt
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. 22.01.2013|8:58:31|170.44.76.168|Cвязь с сервером  прервана.
  3. 23.01.2013|0:47:14|170.41.65.167|Cвязь с сервером  прервана.
  4. 24.01.2013|8:49:22|175.30.96.210|Cвязь с сервером  прервана.
  5. 24.01.2013|8:50:24|172.41.91.210|Cвязь с сервером  прервана.
  6. 25.01.2013|8:51:25|171.42.92.200|Cвязь с сервером  прервана.
  7. 26.01.2013|8:52:27|170.40.90.200|Cвязь с сервером  прервана.
  8. и т.д.
  9.  


Исполняемый скрипт PHP:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?
  3. $log = file('p_log/logping.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
  4. $days = 10;   // За сколько дней показывать лог
  5. $startDate = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - $days * 86400;
  6. $res = array();
  7. foreach($log as $row) {
  8.    $fields = explode('|', $row);
  9.    $dateArray = explode('.', $fields[0]);
  10.    $date = strtotime(implode('-', array_reverse($dateArray)));
  11.    $dateTime = strtotime(implode('-', array_reverse($dateArray)) . ' ' . $fields[1]);
  12.    if($dateTime < $startDate)
  13.        continue;
  14.    if(!isset($res[$date]))
  15.        $res[$date] = array();
  16.    if(!isset($res[$date][$fields[2]]))
  17.        $res[$date][$fields[2]] = array();
  18.    $res[$date][$fields[2]][$dateTime] = $fields[3];
  19. }
  20. $html = '<table width="100%" border="1" cellspacing="0" cellpadding="0"><tr align="center"><td>';
  21. for($i = 0; $i < $days; ++$i) {
  22.    $date = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - $i * 86400;
  23.    $html .= '<b>Дата ' . date('d.m.Y', $date) . '</b><br />';
  24.    if(isset($res[$date])) {
  25.        foreach($res[$date] as $ip => $events) {
  26.            krsort($events, SORT_NUMERIC);
  27.            $lastEvent = each($events);
  28.            $html .= '<b>Ошибки связи по IP: ' . $ip . ' = ' . count($events) . '</b>, последняя была зафиксирована в: <b>';
  29.            //$html .= date('d.m.Y в H:i', $lastEvent[0]) . '</b> [' . htmlspecialchars($lastEvent[1]) . ']<br />';
  30.            $html .= date('H:i:s', $lastEvent[0]) . '</b> [' . htmlspecialchars($lastEvent[1]) . ']<br />';
  31.        }
  32.        $html .= '<br />';
  33.    } else {
  34.        $html .= 'Ошибок связи до серверов на эту дату не обнаружено!<br /><br />';
  35.    }
  36. }
  37. echo($html)."</td></tr></table>";
  38. ?>
  39.  


Скрипт берет файл: logping.txt и из него создавая массив данных разбивает их и пр. -> по коду, вывод следующий: Дата 14.05.2013 Ошибки связи по IP: 170.40.60.160 = 1, последняя была зафиксирована в: 13:33:08 [Cвязь с сервером прервана.]

ВОПРОС ВОТ В ЧЕМ, КАК ДОБАВИТЬ СВОЙСТВА К ВЫВОДИМЫМ IP??? Т.е. мне нужно чтобы выводился не только IP но и повесить на него (на каждый) определение, чтобы по наведению на каждый IP показывал, свой title

Пожалуйста ПОДСКАЖИТЕ, как добавить эти свойства к каждому IP в массив (например на 170.44.76.168 title="Дом", 170.41.65.167 title="Работа" и пр.)??? БУДУ ОЧЕНЬ БЛАГОДАРЕН и НЕ ТОЛЬКО Я!!! Улыбка

Страниц (4): « 1 2 [3] 4 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB