ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #7711  
Старый 12.01.2009, 05:15
OnArs
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
С нами: 9356016

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

Всем доброй ночи, появился вот так вопрос:

Есть число, к примеру: 1450000
Нужно выводить его в виде: 1'450'000

Как это сделать?

P.s. Есть идея перебирать строку с конца и каждый три символа вставлять нужный знак, в данном случае это ', но как правильно это реализовать не могу сообразить.

Всем кто поможет - Заранее благодарен, с меня +

Решил вот так:

PHP код:
$cost '1450000';
$cost = strrev($cost);
for (
$i=0;$i<=strlen($cost);$i++) if (($i % 3 == 0) and ($i != 0)){ $scost .= '\''.$cost[$i];} else {$scost .= $cost[$i];};
$cost = strrev($scost);
echo 
$cost; 

Последний раз редактировалось OnArs; 12.01.2009 в 05:31..
 
Ответить с цитированием

  #7712  
Старый 12.01.2009, 05:33
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
С нами: 9230726

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

Цитата:
Сообщение от OnArs  
Всем доброй ночи, появился вот так вопрос:

Есть число, к примеру: 1450000
Нужно выводить его в виде: 1'450'000

Как это сделать?

P.s. Есть идея перебирать строку с конца и каждый три символа вставлять нужный знак, в данном случае это ', но как правильно это реализовать не могу сообразить.

Всем кто поможет - Заранее благодарен, с меня +

Решил вот так:

PHP код:
$cost '1450000';
$cost = strrev($cost);
for (
$i=0;$i<=strlen($cost);$i++) if (($i % 3 == 0) and ($i != 0)){ $scost .= '\''.$cost[$i];} else {$scost .= $cost[$i];};
$cost = strrev($scost);
echo 
$cost; 
http://ru2.php.net/number-format
 
Ответить с цитированием

  #7713  
Старый 12.01.2009, 05:37
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
С нами: 9230726

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

OnArs
Цитата:
<?php
$number = 1234567111;
echo number_format($number, 0, '.', ',');
?>
Цитата:
X-Powered-By: PHP/5.2.0
Content-type: text/html

1,234,567,111
number_format($number, 0, '.', ',');
$number - число
0 - кол-во знаков после запятой (для округления)
. - разделитель целой и дробной части
, - разделитель "триад" или как там их)

Последний раз редактировалось preda1or; 12.01.2009 в 05:45..
 
Ответить с цитированием

  #7714  
Старый 12.01.2009, 12:55
mad_dog
Новичок
Регистрация: 23.12.2008
Сообщений: 1
С нами: 9148937

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

так а кто может обучить Чайника!?
 
Ответить с цитированием

  #7715  
Старый 12.01.2009, 13:03
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Цитата:
Сообщение от mad_dog  
так а кто может обучить Чайника!?
Дядя Cpacha. Иди ищи соседние темы,там есть видео и статьи...а лучше всего,как мне однажды сказали,"иди долб**** на ru.php.net там все есть!"...
 
Ответить с цитированием

  #7716  
Старый 12.01.2009, 19:19
geforce
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
С нами: 9326973

Репутация: -25
Question

AkyHa_MaTaTa

Pashkela

groundhog

Проблема заключается в том что после скачевания файла он не открывается пишит (невозможно посмотреть) В чём трабла???

PHP код:
<?php 
if(!empty($_GET['file'])){ 
    
$filename = basename($_GET['file']); 

    @
header('Content-Disposition: attachment; filename="'.$filename.'"'); 
    @
header('Content-Type: application/x-force-download; name="'.$filename.'"'); 

     
readfile($filename); 
} 
?>
 
Ответить с цитированием

  #7717  
Старый 12.01.2009, 19:21
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами: 9999746

Репутация: 1318


По умолчанию

Посмотри содержимое файла в блокноте, наверняка там какой-то не регулярный контент... В смысле, того файла, который тебе отдаёт скрипт... Скрипт хоть в одной папке с файлами лежит?
 
Ответить с цитированием

  #7718  
Старый 12.01.2009, 19:27
geforce
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
С нами: 9326973

Репутация: -25
Question

Цитата:
Сообщение от groundhog  
Посмотри содержимое файла в блокноте, наверняка там какой-то не регулярный контент... В смысле, того файла, который тебе отдаёт скрипт... Скрипт хоть в одной папке с файлами лежит?
Нет не в одной! вот скрипт:
PHP код:
<?php include("db.php");
if (isset(
$_POST['vibor'])) { $vibor = $_POST['vibor'];}
if (isset(
$_POST['load'])) { $adres = $_POST['load'];}
$result1 = mysql_query("SELECT * FROM data WHERE id='$vibor'",$db);
if (!
$result1)
{
exit(
mysql_error());
}
if (
mysql_num_rows($result1) > 0)
{
$myrow1 = mysql_fetch_array($result1);
$mas = getimagesize($adres);

$width = 215;
$heigth = $mas[1]+270;
$adres1 = "admin/".$myrow1['url'];
$im = imagecreatetruecolor($width, $heigth);

$im1 = imagecreatefromjpeg($adres);
$im2 = imagecreatefromjpeg('logo.jpg');
$im3 = imagecreatefromjpeg($adres1);
$i=1;
$name = "avat".$i++.$myrow1['name'];
imagecopy($im, $im2, 0, $mas[1], 0, 0, 215, 20);
imagecopy($im, $im1, 0, 0, 0, 0, 215, $mas[1]);
imagecopy($im, $im3, 0, $mas[1]+20, 0, 0, 215, 350);

//размеры аватарки
    
$width = imagesx($im);
    
$height = imagesy($im);
//добавляем уголки
$tl = imagecreatefrompng('tl.png'); //top left
$tr = imagecreatefrompng('tr.png'); //top right
$dl = imagecreatefrompng('dl.png'); //down left
$dr = imagecreatefrompng('dr.png'); //down  right
//размеры уголков (предпологается, что размер углов одинаковый )
    
$w = imagesx($tl);
    
$h = imagesy($tl);
imagecopy($im, $tl, 0, 0, 0, 0, $w, $h);
imagecopy($im, $tr, $width-$w, 0, 0, 0, $w, $h);
imagecopy($im, $dl, 0, $height-$h, 0, 0, $w, $h);
imagecopy($im, $dr, $width-$w, $height-$h, 0, 0, $w, $h);

imagejpeg($im,"avatar/$name");
imagedestroy($im);
}
else
{
exit();
}

printf("<a href='get.php?file=avatar/$name'><img src='avatar/$name' alt=''/></a>");
?>
PHP код:
<?php
if(!empty($_GET['file'])){
    
$filename = basename($_GET['file']);

    @
header('Content-Disposition: attachment; filename="'.$filename.'"');
    @
header('Content-Type: application/x-force-download; name="'.$filename.'"');

     
readfile($filename);
}
?>
 
Ответить с цитированием

  #7719  
Старый 12.01.2009, 19:53
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами: 9999746

Репутация: 1318


По умолчанию

Ну смотри - readfile($filename) у тебя написано. Но перед этим ты делаешь $filename = basename($_GET['file']), то есть отсекаешь всё кроме имени файла... Таким образом твой скрипт отдаёт хидеры и пытается читать контент файла из той директории, в которой он находится сам... Попробуй вот так:

Код:
<?php
if(!empty($_GET['file'])){
    $filename = trim($_GET['file']);

    @header('Content-Disposition: attachment; filename="'.basename($filename).'"');
    @header('Content-Type: application/x-force-download; name="'.basename($filename).'"');

     readfile($filename);
}
?>
Но учти, что в таком случае скрипт является include уязвимым... Тогда уже так делай:

Код:
<?php
if(!empty($_GET['file'])){
    $filename = trim($_GET['file']);

    @header('Content-Disposition: attachment; filename="'.basename($filename).'"');
    @header('Content-Type: application/x-force-download; name="'.basename($filename).'"');

     readfile(dirname(__FILE__) . '/' . $filename);
}
?>

Последний раз редактировалось groundhog; 12.01.2009 в 20:01..
 
Ответить с цитированием

  #7720  
Старый 12.01.2009, 20:20
geforce
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
С нами: 9326973

Репутация: -25
Question

groundhog Спасибо так работает!

А как избавиться от иклуд??

Pregmatch-ем можно?
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



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


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




ANTICHAT ™ © 2001- Antichat Kft.