#701 2012.04.08 00:21

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Вот в чем прикол - проинклюдилось ведь.
На днях попытаюсь обновить php до последней версии с линейки 5.3, но это довольно странно...


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#702 2012.04.08 09:24

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да ничего странного, 5.3.1 вышел 19 ноября 2009г. много всего уже поправили.

Неактивен

#703 2012.04.12 01:15

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Ого, вот это я прогнал.
Надо обновиться до последней версии с 5.3
Кстати, стабильная ли сейчас 5.4?
Хотя особо использовать не планирую, но мало ли, просто интересно.
Добавлено спустя   5 минут  20 секунд:
Вот что еще удивило:
http://windows.php.net/download/
вот здесь версии для windows.
В опциях есть только VC9 Thread Safe или non thread safe.
Что выбрать и какая разница?
Кроме того, слева на странице написано:
If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP
Do NOT use VC9 version with apache.org binaries

Я не понял, все же выбрать VC6? Ведь тем нет VC6 для php 5.3. То что выбирать? Немного меня это запутало.


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#704 2012.04.12 14:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну да, 5.4 стабильная. 5.4.1 в релиз кандидатах.
>> Немного меня это запутало. http://forum.ru-board.com/topic.cgi?for … opic=15377
апач лучше брать отсюда http://www.apachelounge.com/download/

Неактивен

#705 2012.04.12 19:10

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Как я понял, в приватных методах и свойствах принято переменную называть, начиная с нижнего подчеркивания, то есть $_var? Или метод _userFunc?


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#706 2012.04.12 19:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

В разных стандартах по разному. В PEAR, например, нет. А в Zend да.
Для проверки соответствия стандартов кодирования используется CodeSniffer.
Я лично предпочитаю Zend, да и используется он чаще.

Неактивен

#707 2012.04.16 13:40

maksimoff
Гость

Re: Общие вопросы по PHP

Помогите переделать импорт файлов для wap-host (copy не канает!)

Код:

1
span style="color: #0000BB"><?php/** * @package JohnCMS * @link http://johncms.com * @copyright Copyright (C) 2008-2011 JohnCMS Community * @license LICENSE.txt (see attached file) * @version VERSION.txt (see attached file) * @author http://johncms.com/about */defined('_IN_JOHNCMS') or die('Error: restricted access');require('../incfiles/head.php');if ($rights == 4 || $rights >= 6) { $req = mysql_query("SELECT * FROM `down_files` WHERE `type` = 1 AND `id` = '$id' LIMIT 1"); $res = mysql_fetch_assoc($req); if (!mysql_num_rows($req) || !is_dir($res['dir'] . '/' . $res['name'])) { echo functions::display_error('Каталог не существует<br /><a href="index.php">К категориям</a>'); require('../incfiles/end.php'); exit; } $al_ext = $res['field'] ? explode(', ', $res['text']) : $defaultExt; if (isset($_POST['submit'])) { $load_cat = $res['dir'] . '/' . $res['name']; $error = array (); $link = isset($_POST['fail']) ? str_replace('./', '_', trim($_POST['fail'])) : null; if ($link) { if (mb_substr($link, 0, 7) !== 'http://') $error[] = 'Неправильная ссылка'; else $link = str_replace('http://', '', $link); } if ($link && !$error) { $fname = basename($link); $new_file = isset($_POST['new_file']) ? trim($_POST['new_file']) : null; $name = isset($_POST['text']) ? trim($_POST['text']) : null; $name_link = isset($_POST['name_link']) ? functions::check(mb_substr($_POST['name_link'], 0, 200)) : null; $text = isset($_POST['opis']) ? mysql_real_escape_string(trim($_POST['opis'])) : null; $ext = explode(".", $fname); if (!empty($new_file)) { $fname = strtolower($new_file . '.' . $ext[1]); $ext = explode(".", $fname); } if (empty($name)) $name = $fname; if (empty($name_link)) $error[] = 'Не заполнено поле.'; if (count($ext) != 2) $error[] = 'Неправильное имя файла! К отправке разрешены только файлы имеющие имя и одно расширение (<b>name.ext</b>)'; if (!in_array($ext[1], $al_ext)) $error[] = 'Запрещенный тип файла! К отправке разрешены только файлы, имеющие следующее расширение: ' . implode(', ', $al_ext); if (strlen($fname) > 30) $error[] = 'Длина названия файла и названия для сохранеия не должна превышать 30 символов'; if (preg_match("/[^\da-z_\-.]+/", $fname)) $error[] = 'В названии файла присутствуют недопустимые символы. Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- ). Запрещены пробелы.'; } elseif (!$link) { $error[] = 'Вы не ввели ссылку.'; } if ($error) { $error[] = '<a href="index.php?act=import&id=' . $id . '">Повторить</a>'; echo functions::display_error($error); } else {if (file_exists("$load_cat/$fname")) $fname = $realtime . $fname; if (copy('http://' . $link, "$load_cat/$fname")) { echo '<div class="phdr"><b>Импорт файла</b></div>'; echo '<div class="gmenu">Файл выгружен</div>'; $fname = mysql_real_escape_string($fname); $name = mysql_real_escape_string(mb_substr($name, 0, 200)); mysql_query("INSERT INTO `down_files` SET `refid`='$id', `dir`='$load_cat', `time`='$realtime',`name`='$fname', `text` = '$name_link',`rus_name`='$name', `type` = '2',`user_id`='$user_id', `about` = '$text'"); $file_id = mysql_insert_id(); require('../incfiles/lib/class.upload.php'); $handle = new upload($_FILES['screen']); if ($handle->uploaded) { if (mkdir($screens_path . '/' . $file_id, 0777) == true) @chmod($screens_path . '/' . $file_id, 0777); $handle->file_new_name_body = $file_id; $handle->allowed = array ( 'image/jpeg', 'image/gif', 'image/png' ); $handle->file_max_size = 1024 * $set['flsz']; $handle->file_overwrite = true; if ($set_down['screen_resize']) { $handle->image_resize = true; $handle->image_x = 240; $handle->image_ratio_y = true; } $handle->process($screens_path . '/' . $file_id . '/'); if ($handle->processed) { echo '<div class="rmenu">Скриншот прикреплен</div>'; } else echo '<div class="rmenu">Скриншот не прикреплен: ' . $handle->error . '</div>'; } echo '<div class="menu"><a href="index.php?act=view&id=' . $file_id . '">К файлу</a></div>'; $dirid = $id; $sql = ''; while ($dirid != '0' && $dirid != "") { $res_down = mysql_fetch_assoc(mysql_query("SELECT `refid` FROM `down_files` WHERE `type` = 1 AND `id` = '$dirid' LIMIT 1")); if ($i) $sql .= ' OR '; $sql .= '`id` = \'' . $dirid . '\''; $dirid = $res_down['refid']; ++$i; } mysql_query("UPDATE `down_files` SET `total` = (`total`+1) WHERE $sql"); mysql_query("OPTIMIZE TABLE `down_files`"); echo '<div class="phdr"><a href="index.php?act=import&id=' . $id . '">Выгрузить еще</a> | '; echo '<a href="index.php?id=' . $id . '">Вернуться в категорию</a></div>'; } else echo '<div class="rmenu">Ошибка импорта.<br /><a href="index.php?act=import&id=' . $id . '">Повторить</a></div>'; } } else { echo '<div class="phdr"><b>Импорт файла: ' . functions::checkout($res['rus_name']) . '</b></div>'; echo '<div class="list1"><form action="index.php?act=import&id=' . $id . '" method="post" enctype="multipart/form-data"> Ссылка<span class="red">*</span>:<br /><input type="post" name="fail" value="http://"/><br /> Сохранить как (max. 30, без расширения):<br /><input type="text" name="new_file"/><br /> Скриншот:<br /><input type="file" name="screen"/><br /> Название файла (мах. 200):<br /><input type="text" name="text"/><br /> Ссылка для скачки файла (мах. 200)<span class="red">*</span>:<br /><input type="text" name="name_link" value="Скачать файл"/><br /> Описание (max. 500)<br /><textarea name="opis"></textarea>'; echo '<br /><input type="submit" name="submit" value="Импортировать"/></form>'; echo '</div><div class="phdr"><small>Max. вес: ' . $set['flsz'] . ' кб, расширения: ' . implode(', ', $al_ext) . ($set_down['screen_resize'] ? '<br />Скриншот будет автоматически преобразован в картинку, шириной не превышающую 240px (пропорции сохранятся)' : '') . '</small></div>'; echo '<p><a href="index.php?id=' . $id . '">Назад</a></p>'; }} else { header('Location: ' . $set['homeurl'] . '/?err');}?>

#708 2012.04.16 15:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

что за полотно? где код, который не работает?

Неактивен

#709 2012.04.17 21:41

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Хочу, чтоб было просто, логично, практично и "быстро" идеально smile
Есть другие предложения?

Код:

1
span style="color: #0000BB"><?php/*---- Table structure for table `activity`--CREATE TABLE IF NOT EXISTS `activity` ( `active_id` bigint(20) unsigned DEFAULT NULL, `active_ip` varchar(15) NOT NULL, `active_browser` varchar(300) NOT NULL, `active_point` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`active_ip`,`active_browser`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;*/// $db = PDO Driver//+ ACTIVITY//$db->prepare("REPLACE `activity` " ."SET `active_id` = '" . ((int) @$_SESSION['user_id']) . "', " ."`active_ip` = ?, " ."`active_browser` = ?, " ."`active_point` = NOW() + INTERVAL '" . ACTIVITY_EXPIRE . "' SECOND;" )->execute(array($_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']));//- ACTIVITY//

.
.
Может лучше удалять неактивных,
Чтоб при выборке не задавать условие `active_point` > NOW()

Отредактировано tipsun (2012.04.17 21:48)

Неактивен

#710 2012.04.17 21:59

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Один хрен с этим INTERVAL что в DELETE, что в REPLACE.
Зато при выборке можно без лишних `active_point` > NOW()
Зато каждый раз выполняется запрос DELETE
Мдэ big_smile
- - - -
Что делать?

Отредактировано tipsun (2012.04.17 22:01)

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.038 s