Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: строковые заморочки

Сообщения:  [1-10]   [11-12] 

 
 автор: sim5   (22.10.2008 в 20:05)   письмо автору
 
   для: elenaki   (22.10.2008 в 19:59)
 

Понял, это не монахи, это я минусовать забыл :)

  Ответить  
 
 автор: elenaki   (22.10.2008 в 19:59)   письмо автору
 
   для: sim5   (22.10.2008 в 19:52)
 

никакой путаницы (хехе, знали бы вы, ЧТО значит по-гречески "путаница")

не первых, а последних 4!
а "первые" - это те, которые остались после отнятия "последних" 4-x (при 40001 - 4, а при 2490182 - это 249)
дал ладно, не заморачивайтесь. это мне монахи подкинули работенку. они не математики...

  Ответить  
 
 автор: sim5   (22.10.2008 в 19:52)   письмо автору
 
   для: elenaki   (22.10.2008 в 19:43)
 

1... первых четыре... 40001 - это будет 4000
2... добавляем нули - 0004000 ???

Путаница какая-то )

  Ответить  
 
 автор: elenaki   (22.10.2008 в 19:43)   письмо автору
 
   для: sim5   (22.10.2008 в 19:35)
 

2490182 (это id картинки в базе)

1. берем последние 4 символа это 0182
2. берем оставшие в строке первые символы и добавляем нули впереди, чтоб символов
стало 4 : "0" + "249" = "0249"
3. собираем строку: 0249/0249_0182.jpg (это путь к картинке на сервере)

в других категориях было не так запутано. там я быстро сделала. но и это тоже уже решено.

  Ответить  
 
 автор: sim5   (22.10.2008 в 19:35)   письмо автору
 
   для: elenaki   (22.10.2008 в 18:49)
 

А почему 40001 представляется как 0004_0001 (то есть реверс строки 4000), а 2490182 - тут надо 249 вытащить..., надо понимать как 0249_0182? Почему не 0942 ?

  Ответить  
 
 автор: BinLaden   (22.10.2008 в 19:07)   письмо автору
 
   для: elenaki   (22.10.2008 в 18:49)
 

Понятно. И Вы сделали так же?

  Ответить  
 
 автор: elenaki   (22.10.2008 в 18:49)   письмо автору
 
   для: BinLaden   (22.10.2008 в 16:14)
 

в самом первом посте объяснено - взять последние 4 символа строки. к оставшимся
первым прибавить впереди нулей, чтоб их стало 4, потом составить путь к файлу по
шаблону.

  Ответить  
 
 автор: BinLaden   (22.10.2008 в 16:14)   письмо автору
 
   для: elenaki   (22.10.2008 в 13:07)
 

Так -- да, получите последние 4.

P.S. Сижу и удивляюсь, а почему Trianon посоветовал разделить именно на 10000, а для последнего -- остаток от деления на 10000. Тут нигде вроде не было объяснено каким образом 40001 преобразуется в замечательные 0004, 0004, 0001.

  Ответить  
 
 автор: elenaki   (22.10.2008 в 13:07)   письмо автору
 
   для: Trianon   (22.10.2008 в 13:02)
 

A TAK?
$posled = substr($row['DOCSID'],-4);

получаю последние 4. проверяла. пойду еще проверю.

  Ответить  
 
 автор: Trianon   (22.10.2008 в 13:02)   письмо автору
 
   для: elenaki   (22.10.2008 в 12:15)
 

>1. из строки "40001" выделяю 4 последних символа. это получилось. $posled = substr($row['DOCSID'],4);

это неверно. Не напутайте. Вы получили все символы после четвертого и далее.

Я бы написал
$hi = intval($num/10000); $lo = $num % 10000;
$file_name = sprintf("%04d/%04d_%04d.jpg", $hi, $hi, $lo);

  Ответить  

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования