Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Timur S.

Страницы: [1] 2
1
Perl / Загрузка файла с подменой ссылки
« : 17 Февраля 2011, 11:52:45 »
Нужно организовать загрузку файла например mp3

1. путь к файлу например будет такой:
/cgi-bin/img.pl?d=123456789
2. файл будет лежать например:
/audio/mp3/name1.mp3

Первая ссылка не должна меняться но давать возможность загружать файл.

Как лучше реализовать данную задачу.

2
Можно ли хранить записи в таблице в определенном порядке например по дате (DESC), нужно для ускорения выборки из базы.
В одной таблице храню все данные а например в другой только id и date_iz, выбираю записи например по второй, таких таблиц может быть несколько.

Где-то на форуме об этом ктото писал.
Может кто-то подскажет как реализовать.
База MySQL

3
Для того и спрашиваю чтоб разобратся, форум для того и создан.
Если трудно обеснит тогда RomikChef не отвечай

4
Структура:


id  |  num  |  date  |  ...
01     0       2004.11.01...
02     1       2004.11.01...
05     2       2004.11.01...
01     0       2004.11.01...
02     0       2004.11.01...
01     0       2004.11.01...
01     3       2004.11.01...
03     1       2004.11.01...
02     0       2004.11.01...


нужно сделать как сдесь:

$sth = $dbh->prepare("SELECT * FROM $table WHERE id=05 AND num=0 ORDER BY `date` ASC LIMIT 0 , 30") or die "Error prepare: " . $dbh->errstr();


можно ли этот код применть к INDEXU

5
Можно ли создать INDEX в mysql с пораметрами выбранными например:

1.  выбрать все "01" из ячейки `id` потом по "0" из ячейке `num` и по `date` отсортировать.


#этот пример только создает с сортировкой INDEX
$sth = $dbh->prepare("ALTER TABLE $table ADD INDEX `f_id_num_date` (`id` ASC, `num` ASC, `date` ASC) ") or die "Error prepare: " . $dbh->errstr();
$sth->execute() or die "Error execute:" . $sth->errstr . "\\n";

Можно ли сделать чтото вроде:

$sth = $dbh->prepare("ALTER TABLE $table ADD INDEX `id_index` ( WHERE ((`id` =01) AND (`num` =0))
ORDER BY date` ASC ) ") or die "Error prepare: " . $dbh->errstr();

6
Perl / Проблема с возвратом по return из sub.
« : 21 Октября 2004, 10:21:27 »
Во втором некуда возвращать return.

7
Perl / Проблема с возвратом по return из sub.
« : 20 Октября 2004, 16:41:35 »
Как при возврате из sub отлавить эту ошибку тоесть не делать return во втором случае.


#1. Все ок
$test1 = ["test1"];
$test2 = ["test2","test3"];
name($test1$test2);

#2. Ошибка при возврате
name(["test1"], ["test2","test3"]);

sub name {
      
my($left$right) = (shiftshift);
    
#код...
      
      
return $left$right;      
}

9
1. Массив - переменная, которая содержит список. Каждый элемент массива - это отдельная скалярная переменная с независимым скалярным значением. Значения в списке упорядочены, т.е. расставлены в определенной последовательности, например от младшего элемента к старшему.

2. Хеш представляет собой набор скалярных данных, отдельные элементы которого выбираются по индексному значению. В отличии от массива, индексные значения хеша - не малые неотрицательные целые, а произвольные скаляры. Эти скаляры называются ключами и используются для выборки значений из массива. Элементы хеша не стоят в каком-то конкретном порядке.

10
Я понимаю что нужно считывать нужный ключ добовлять к нему и потом записывать снова.


$tmp = $db{\'name\'};
$tmp = exists $db{\'name\'} ? $db{\'name\'} : [];
push(@$tmp, [$id_num => $line[$i]]);
$db{\'name\'}=$tmp;


А как быть если не масив а хеш и мне нужно добавлять не один ключ а несколько.

11
Как в хеш с ключом $db{\'name\'} добавить еще { \'ключ\' =>  \'значение\'} чтобы придыдущии ключи не удалились.

12
Спасибо ошибка исправлена. (неверная переменная стояла).

А вообще она как по дыстродействию, блокировки и тд.,
Вроде есть использования MLDBM с DB_File, как оно по работе с блокировкой, DB_File::Lock вроде не подставляется:

use MLDBM qw(DB_File); #DB_File::Lock

13
ActivePerl 5.8.0.805

14
выдает

$VAR1 = undef;

15
Подскажите пробаю занести данные в базу они не заносятся, приважу два варианта занесения может кто поскажет в чем причина.


use DB_File;
use MLDBM qw(DB_File);
use Fcntl qw(:DEFAULT :flock);

my $db_hash = "base.db";
tie %db, \'MLDBM\', $db_hash, O_CREAT|O_RDWR, 0666 or die $!;

#вариант1 занесения
$sample   = {\'burnt\' => \'umber\', \'brownian\' => \'motion\'} ;
$db{"test1"} = $sample;

#вариант2 занесения
$db{"test2"}= ["smth2",\'cxsd@ware\'];

untie %db;


Страницы: [1] 2