ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #2911  
Старый 25.04.2008, 22:56
Аватар для l0l1k
l0l1k
Познающий
Регистрация: 27.01.2008
Сообщений: 34
Провел на форуме:
62811

Репутация: 12
По умолчанию

вы что сговорились ??? издеваетесь ??? мне надо это сделать на Php и точка .
 
Ответить с цитированием

  #2912  
Старый 25.04.2008, 23:04
Аватар для presidentua
presidentua
Постоянный
Регистрация: 04.11.2007
Сообщений: 331
Провел на форуме:
1724067

Репутация: 806
Отправить сообщение для presidentua с помощью ICQ
По умолчанию

блокнот не поддерживает больших файлов. в Ворде делай!

Токо одного не пойму, тебе что здесь кто-то обязан. Или может денег должны. Хотят помагают хотят нет. Буть проще и люди потянутся. Сорри за оффтоп, не удержался.
 
Ответить с цитированием

  #2913  
Старый 25.04.2008, 23:17
Аватар для NOmeR1
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме:
6023777

Репутация: 2642


Отправить сообщение для NOmeR1 с помощью ICQ
По умолчанию

На PHP файл будет долго читаться, но раз уж ты так нервничаешь.
Код:
<?php
	// {
		$file = 'big_file.txt';
		$bytes = 50000;
	// }
	$fopen = fopen($file, 'r');
	$i = 1;
	while(!feof($fopen)) {
		$total_resource = fgets($fopen, $bytes);
		$fopen2 = fopen($i.'_tom.txt', 'a');
		fwrite($fopen2, $total_resource);
		fclose($fopen2);
		$i++;
	}
	fclose($fopen);
?>
 
Ответить с цитированием

  #2914  
Старый 26.04.2008, 00:38
Аватар для Architek86
Architek86
Познающий
Регистрация: 20.02.2008
Сообщений: 82
Провел на форуме:
107625

Репутация: 2
По умолчанию

Что то я не пойму, IE не передаёт данные из формы скрипту PHP?
Ибо есть простой скриптик загрузки файлов через форму.... вот:
Код HTML:
<form method="post" enctype="multipart/form-data" action="engine.php">
<b>01</b><input name="userfile1" type="file" size="40" />
<b>02</b><input name="userfile2" type="file" size="40" />
<b>03</b><input name="userfile3" type="file" size="40" />
<input name="upload" type="submit" value="Загрузить">
</form>
А вот и сам скрипт engine.php:
PHP код:
<?php
if ((is_uploaded_file($HTTP_POST_FILES['userfile1']['tmp_name']) || is_uploaded_file($HTTP_POST_FILES['userfile2']['tmp_name']) || is_uploaded_file($HTTP_POST_FILES['userfile3']['tmp_name'])) & ($HTTP_POST_FILES['userfile1']['type']=="image/jpg" || $HTTP_POST_FILES['userfile1']['type']=="image/jpeg" || $HTTP_POST_FILES['userfile2']['type']=="image/jpg" || $HTTP_POST_FILES['userfile2']['type']=="image/jpeg" || $HTTP_POST_FILES['userfile3']['type']=="image/jpg" || $HTTP_POST_FILES['userfile3']['type']=="image/jpeg"))
{
$nm mt_rand(12345,999999999);
$ras '.jpg';
if ((
$HTTP_POST_FILES['userfile1']['type']=="image/jpg") || ($HTTP_POST_FILES['userfile1']['type']=="image/jpeg"))
{
$nbr="_1";
$iname $nm.$nbr.$ras;
copy ($HTTP_POST_FILES['userfile1']['tmp_name'], $iname);
}
if ((
$HTTP_POST_FILES['userfile2']['type']=="image/jpg") || ($HTTP_POST_FILES['userfile2']['type']=="image/jpeg"))
{
$nbr="_2";
$iname $nm.$nbr.$ras;
copy ($HTTP_POST_FILES['userfile2']['tmp_name'], $iname);
}
if ((
$HTTP_POST_FILES['userfile3']['type']=="image/jpg") || ($HTTP_POST_FILES['userfile3']['type']=="image/jpeg"))
{
$nbr="_3";
$iname $nm.$nbr.$ras;
copy ($HTTP_POST_FILES['userfile3']['tmp_name'], $iname);
}
}
else
{
print 
'Нельзя загрузить даный тип файла';
}
?>
По идеи должен загружать файл, но через ИЕ этого не происходит, так и пишет - Нельзя загрузить даный тип файла.. ПОЧЕМУ??? хотя через другие браузеры - всё ок...
 
Ответить с цитированием

  #2915  
Старый 26.04.2008, 03:05
Аватар для Корвин
Корвин
Участник форума
Регистрация: 26.02.2007
Сообщений: 259
Провел на форуме:
302951

Репутация: 67
Отправить сообщение для Корвин с помощью ICQ
По умолчанию

попробуй вместо $HTTP_POST_FILES, просто $_POST
 
Ответить с цитированием

  #2916  
Старый 26.04.2008, 03:29
Аватар для Doom123
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

Драсте... у меня вопрос вот часто вижу что сессии хранятся в БД

1.Что это даёт?
(Даёт управление значениями сессии?)
2.Если сессия в БД как при этом устроить автологин?
(Брать значения из сессии и куков и если они сходятся записывать сессию)

чтото я эти махинации с сессиями не пойму..
 
Ответить с цитированием

  #2917  
Старый 26.04.2008, 03:47
Аватар для d_x
d_x
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме:
4137635

Репутация: 2407


По умолчанию

Сессию и запись в БД можно связать при помощи PHPSESSID. То есть session_start создаёт сессию, выделяя некоторый id, по которому можно создать запись в базе при первом заходе пользователя на сайт и внести в неё всю информацию о юзере. А в дальнейшем, при заходе по кукисам, получать эту запись из БД опять-таки при помощи PHPSESSID. А реализовать удалении сессии можно так: просто добавить в таблицу сессий в БД поле с датой последнего обращения пользователя и удалять записи, которые старше некоторого времени. Соответственно, при нескольких обращениях юзера к сайту это поле должно обновляться.

То есть:
1) юзер обратился к сайту. Создалась сессия, ему в кукисы записался PHPSESSID.
2) сразу же в БД создалась запись с ключом PHPSESSID и всеми необходимыми данными сессии
3) юзер снова обратился к странице сайта. Теперь новая сессия не создаётся, а используется PHPSESSID из его кукисов.
4) теперь данные сессии мы не добавляем в БД, а делаем выборку из таблицы с сессиями, примерно так: select ... from (таблица_сессий) where sid=$PHPSESSID. Кроме того,обновляем поле времени последнего обращения юзера в таблице сессий.
5) юзер ушёл с сайта, закрыл браузер. Но при обращении других юзеров из таблицы сессий удаляются старые записи, т.е. удалится и запись этого ушедшего пользователя через время, которое мы установили. (delete from (таблица_сессий) where (поле_время_последнего_обра щения)<время-время_онлайна).
6) если юзер ушёл с сайта, нажав кнопку, например, "logoff", то можно сразу удалять запись в таблице сессий с его PHPSESSID.

Основные плюсы - можно модифицировать чужие сессии и отслеживать, онлайн пользователь или нет.

Последний раз редактировалось d_x; 26.04.2008 в 03:52..
 
Ответить с цитированием

  #2918  
Старый 26.04.2008, 04:20
Аватар для Doom123
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

Тьфу а я думал чтото насчёт безопасности) я до того ка задал вопрос написал примерный скрипт а када написал не понел зачем я это сделал =)))

вот скрипт... верный?


PHP код:
<?php

/**
 * @author 
 * @copyright 2008
 */
mysql_connect('localhost''root''');
mysql_select_db('session');

function 
ses_open($ses_path$ses_name)
{
    return 
true;
}

function 
ses_close()
{
    return 
true;
}

function 
ses_read($key)
{
    
$result = @mysql_query("SELECT `val` FROM `session` WHERE `key`='$key'");
    
$fetch mysql_fetch_assoc($result);
    return 
$fetch['val'];
}

function 
ses_write($key$val)
{
    
$result = @mysql_query("SELECT `val` FROM `session` WHERE `key`='$key'");
    
$fetch = @mysql_fetch_assoc($result);
    if (
$fetch != array())
    {
        @
mysql_query("UPDATE `session` SET `name`='" session_name() . "', `val`='$val', `time`='" .
            
time() . "' WHERE `key`='$key'");
    } else
    {
        @
mysql_query("INSERT INTO `session` SET `name`='" session_name() . "', `val`='$val',`key`='$key', `time`='" .
            
time() . "'");
    }
    return 
true;
}

function 
ses_destroy($key)
{
    return @
mysql_query("DELET FROM `session` WHERE `key`='$key'");
}

function 
ses_gc($maxtime)
{
    
$result mysql_query("select `time`,`key` FROM `session` where 1");
    for (
$fetch = array(); $row mysql_fetch_array(); $fetch[] = $row)
        ;
    foreach (
$fetch as $v)
    {
        if (
time() - $v[time] >= $maxtime)
        {
            
mysql_query("DELET FROM `session` WHERE `val`='$v[val]'");
        }
    }
}

session_set_save_handler("ses_open""ses_close""ses_read""ses_write",
    
"ses_destroy""ses_gc");

?>
 
Ответить с цитированием

  #2919  
Старый 26.04.2008, 04:31
Аватар для d_x
d_x
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме:
4137635

Репутация: 2407


По умолчанию

Вроде верно всё, нужно только параметры фильтровать

А вот это:

PHP код:
    $result = @mysql_query("SELECT `val` FROM `session` WHERE `key`='$key'"); 
    
$fetch = @mysql_fetch_assoc($result); 
    if (
$fetch != array()) 
    { 
        @
mysql_query("UPDATE `session` SET `name`='" session_name() . "', `val`='$val', `time`='" 
            
time() . "' WHERE `key`='$key'"); 
    } else 
    { 
        @
mysql_query("INSERT INTO `session` SET `name`='" session_name() . "', `val`='$val',`key`='$key', `time`='" 
            
time() . "'"); 
    } 
    return 
true
можно заменить таким:

PHP код:
  $tm=time();
  @
mysql_query("insert into session (val,key,time) values('$val','$key',$tm) ON DUPLICATE KEY UPDATE time=$tm$val='$val'"); 
    return 
true
Но только если key - UNIQUE index или PRIMARY KEY и начиная с MySQL 4.1.
И ещё после запроса SELECT не надо забывать mysql_free_result.

Последний раз редактировалось d_x; 26.04.2008 в 04:40..
 
Ответить с цитированием

  #2920  
Старый 26.04.2008, 04:32
Аватар для Doom123
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

Так это был тестовый скрипт у меня ваще для работы с БД спецальный класс написаный мной он усё фильтрует=)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ