Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

19.02.2009, 16:29
|
|
Участник форума
Регистрация: 04.10.2008
Сообщений: 154
Провел на форуме: 203408
Репутация:
7
|
|
Ребят, че такое, вроде все правильно, файлы не до конца переименовывает.
PHP код:
$ru=array("&","а","#","б","в"," ","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я");
$tr=array("_","a","_","b","v","_","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja");
$attach_name = substr($_FILES['attached']['name'], 0, strrpos($_FILES['attached']['name'], '.'));
Вот весь код
PHP код:
<?
include("include/common.php");
if($loggedin){
include("include/accmenu.php");
}
if( $_POST['submit'] && $_FILES['attached']['name'] ){
$ok_filetypes = explode("|",$att_filetypes);
if (!$_FILES['attached']['error'] && $_FILES['attached']['size'] > $att_max_size*1024){
errform('<CENTER>Извините, слишком большой размер файла!</CENTER><BR><BR>'); // #err
$step = 1;
}
$filename = (!$_FILES['attached']['error'] ? substr( basename($_FILES['attached']['name']), -30 ) : '');
$x = strtolower( substr($_FILES['attached']['name'], -3));
if($filename && !in_array($x, $ok_filetypes) ){
errform('<CENTER>Не поддерживаемый тип файла!!!</CENTER><BR><BR>');
$step = 1;
}
if(!$posterr){
if(!isset($_GET["ipaddress"]) || ($_GET["ipaddress"] == "")) {
$ipaddress = $_SERVER['REMOTE_ADDR'];
$local = 1;
} else {
$ipaddress = $_GET["ipaddress"];
$local = 0;
}
$ru=array("&","а","#","б","в"," ","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я");
$tr=array("_","a","_","b","v","_","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja");
$attach_name = substr($_FILES['attached']['name'], 0, strrpos($_FILES['attached']['name'], '.'));
$uniq = strtolower(str_replace($ru,$tr,$attach_name));
$ext = substr($_FILES['attached']['name'], strrpos($_FILES['attached']['name'], '.') + 1);
if (file_exists($att_path."/".$uniq.".".$ext)) $uniq = $uniq . '(copy)';
move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq.".".$ext );
$strQuery = "INSERT INTO images25 SET ";
$strQuery .= "filename='($uniq.$ext)',";
$strQuery .= "ipaddress='{$ipaddress}',";
$strQuery .= "date='".time()."',";
if($myuid){
$strQuery .= "user='{$myuid}',";
}
$strQuery .= "status='1'";
$result = mysql_query($strQuery) or die( mysql_error() );
$aid = mysql_insert_id();
if($aid){
$filen = $siteurl."/".str_replace('./', '', $att_path)."/".$uniq.".$ext";
$filen = str_replace('http://','%%',$filen);
$filen = str_replace('//','/',$filen);
$filen = str_replace('%%','http://',$filen);
//ITS AN IMAGE
if($x=="jpg" or $x=="jpeg" or $x=="gif" or $x=="png" or $x=="jif" or $x=="jfif")
{
$filenx=$filen;
}
else
{
include("include/const.inc.php");
$filenx = $siteurl."/icons/".$Icons[$ext];
}
$step = 2;
}else{
$step = 1;
}
}
}else{
$step = 1;
}
if($step == 1){
?>
Что такое немогу понять( Помогите кто может(
Файл загружается но не переименновываеца до конца( остаюца русские буквы. 
|
|
|

19.02.2009, 16:37
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Сообщение от ntldr
а там нет случайно вот такого типа без iconv только наоборот? потому что мне как раз надо получить текст в UCS-2 LE. а в iconv нельзя выбрать тип
ну тут не сложно самому написать, переводишь всё в хекс и потом по массиву прогоняешь, вот табличка:
http://stuffofinterest.com/misc/utf8.php?s=128
вот какой-то пример с http://php.off.co.il/manual/fr/function.iconv.php
PHP код:
Here is how to convert UTF-8 numbers to UCS-2 numbers in hex:
<?php
function utf8toucs2($str)
{
for ($i=0;$i<strlen($str);$i+=2)
{
$substring1 = $str[$i].$str[$i+1];
$substring2 = $str[$i+2].$str[$i+3];
if (hexdec($substring1) < 127)
$results = "00".$str[$i].$str[$i+1];
else
{
$results = dechex((hexdec($substring1)-192)*64 + (hexdec($substring2)-128));
if ($results < 1000) $results = "0".$results;
$i+=2;
}
$ucs2 .= $results;
}
return $ucs2;
}
echo strtoupper(utf8toucs2("D985D8B1D8AD"))."\n";
echo strtoupper(utf8toucs2("456725"))."\n";
?>
Input:
D985D8B1D8AD
Output:
06450631062D
Input:
456725
Output:
004500670025
ну тут в хексах, дальше просто сопоставить
Последний раз редактировалось Pashkela; 19.02.2009 в 17:00..
|
|
|

19.02.2009, 16:51
|
|
Участник форума
Регистрация: 12.11.2006
Сообщений: 213
Провел на форуме: 347573
Репутация:
185
|
|
Vinsik, у тебя strtolower() не преобразует большие буквы, там какой-то косяк из-за локали, я делал и большие и маленькие.
С php.net:
Описание
string strtolower ( string $str )
Возвращает строку string , в которой все буквенные символы переведены в нижний регистр.
Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C" locale, символ Ä не будет преобразован.
|
|
|

19.02.2009, 16:55
|
|
Участник форума
Регистрация: 04.10.2008
Сообщений: 154
Провел на форуме: 203408
Репутация:
7
|
|
Сообщение от -=Static=-
Vinsik, у тебя strtolower() не преобразует большие буквы, там какой-то косяк из-за локали, я делал и большие и маленькие.
С php.net:
так что мне делать? Как прально написать?
|
|
|

19.02.2009, 17:00
|
|
Участник форума
Регистрация: 12.11.2006
Сообщений: 213
Провел на форуме: 347573
Репутация:
185
|
|
Как вариант сдалать так:
PHP код:
$ru=array("&","#"," ","а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я");
$tr=array("_","_","_","a","b","v","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja","a","b","v","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja");
Или переопределить strtolower()
|
|
|

19.02.2009, 17:03
|
|
Участник форума
Регистрация: 04.10.2008
Сообщений: 154
Провел на форуме: 203408
Репутация:
7
|
|
Сообщение от -=Static=-
Как вариант сдалать так:
PHP код:
$ru=array("&","#"," ","а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я");
$tr=array("_","_","_","a","b","v","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja","a","b","v","g","d","e","oh","zh","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","ch","sh","w","qh","y","q","eh","ju","ja");
Или переопределить strtolower()
спс!!!!
|
|
|

19.02.2009, 20:22
|
|
Участник форума
Регистрация: 11.05.2008
Сообщений: 202
Провел на форуме: 420713
Репутация:
104
|
|
У меня выводит по 5 сообщений на одну страницу
но проблема что если еще добавить сообщение
после 5 сразу линк непоказывает
как сделать что показывало ?
PHP код:
// выбор коментарий
function selcoment($id,$cst)
{
global $cpages;
global $cst;
$cpages = 5;
if($cst == "") $cst = 1;
$cstl = ($cst - 1)*$cpages;
connect();
$q="select user.name, coment.id ,
coment.text,coment.date from coment,
page,user where coment.pid = page.id
and page.id=$id and user.userid = coment.userid limit $cstl,$cpages";
return $at = mysql_query($q);
query_set($at);
}
//вывод коментарий
function newcomentnav($morid)
{
$q ="select count(*) from coment,page where coment.pid = page.id
and page.id=$morid";
$rc = mysql_query($q);
$total = mysql_result($rc,0);
$pnumber = $GLOBALS['cpages'];
$number = (int)($total/$pnumber) ;
if( (float)($total/$pnumber)- $number != 0)
$number++;
for($i =1 ; $i < $number ;$i++)
{
if($number == $i)
{
if($page == $i)
echo ".(($i-1)*$pnumber+1)."-".$total.";
else
echo "<a href=?page&readmore=$morid&allc=".$i.">[".(($i-1)*$pnumber+1)."-".$total."]</a> ";
}
else {
if($page == $i)
echo ".(($i-1)*$pnumber+1)."-".$i*$pnumber.";
else
echo "<a href=?page&readmore=$morid&allc=".$i.">[".(($i-1)* $pnumber + 1)."-".$i*$pnumber."]</a> ";
}
}
}
|
|
|

19.02.2009, 21:00
|
|
Новичок
Регистрация: 22.08.2007
Сообщений: 12
Провел на форуме: 26020
Репутация:
0
|
|
У меня несколько вопросов. Прошу помощи у знатоков.
1) Форма просто с кнопкой. Типа ОБНОВИТЬ которая передает переменную POST этой же странице... без инпутов и т.д. Работа аналогично F5.
2) PHP разбивка. Я получаю тект из <input в виде текста. И записываю в базу. но так как база не резиновая а текстовые файлы будет в данном случае не надежно мне надо чтобы они разбивались на предел ячейки базы тоесть 255 символов. Проще. Я получил переменну 1000символов. и делаю из нее 4 text1 text2 text3 text4 и записываю в соответствующие ячейки базы.
ЗЫ: спасибо за помощ зарание.
Последний раз редактировалось gOsToFf; 19.02.2009 в 21:03..
|
|
|

20.02.2009, 02:25
|
|
Познающий
Регистрация: 08.11.2008
Сообщений: 31
Провел на форуме: 139522
Репутация:
4
|
|
$fp = fopen("counter.txt", "a"); // Открываем файл в режиме записи
$mytext = "Это строку необходимо нам записать\r\n"; // Исходная строка
$test = fwrite($fp, $mytext); // Запись в файл
if ($test) echo 'Данные в файл успешно занесены.';
else echo 'Ошибка при записи в файл.';
fclose($fp); //Закрытие файла
как сдесь сделать что бы текст добавлялся таким видом
1) текст
2) текст2
3) текст3
??
|
|
|

20.02.2009, 03:25
|
|
Познающий
Регистрация: 23.02.2008
Сообщений: 32
Провел на форуме: 168158
Репутация:
33
|
|
подскажите тупому что нужно сделать чтоб брут на php работал ???
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|