fucntion getFileNames($root)
{
$out = array();
$files = scandir($root);
for ($i = 0; $i < count($files); $i++)
{
$name = $files[$i];
if ($name == "." || $name == "..")
{
continue;
}
if (is_dir($root . "/" . $name))
{
$out = array_merge($out, getFileNames($root . "/" . $name));
}
else
{
$out[] = $name;
}
}
return $out;
}
function convertArray($array, $path)
{
$result = array();
for ($i = 0; $i < count($array); $i++)
{
$result[] = $path . "/" . $array[$i];
}
return $result;
}
fucntion getFileNames($root)
{
$out = array();
$files = convertArray(scandir($root), $root);
while (count($files))
{
$path = array_shift($files);
if (basename($path) == "." || basename($path) == "..")
{
continue;
}
if (is_dir($path))
{
$files = array_merge($files, convertArray(scandir($path), $path);)
}
else
{
$out[] = basename($name);
}
}
return $out;
}
$files = ... // получить список файлов в массив
$files = array("fiel1.txt", "fiel3.txt", "file4.txt"); // например
$current_page = 1; //например
$limit = 2;
for ($i = $current_page * $limit; $i < count($files) && $i < ($current_page + 1) * $limit; $i++)
{
echo $files[$i];
}
file4.txt
$sql = 'SELECT * FROM message WHERE (canal="hibye" OR canal="byehi") AND private="1"';
$message = ... // выполнить запрос
if ("hibye" == $message["canal"])
{
//...
header('Location: page1.php');
die();
}
else if ("byehi" == $message["canal"])
{
//...
header('Location: page2.php');
die();
}
|----------------------------|
| |
| |
| |
| tableView |
| |
| |
|----------------------------|
|----------------------------|
| ToolBarView. |
|----------------------------|
#pragma mark - UITableViewDataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return self.users.count;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.users[section].comments.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == 0)
{
UITableViewCell *cell = [[self tableViewAllCheckins] dequeueReusableCellWithIdentifier:@"UserCell"];
NSDictionary *userInfo = self.users[indexPath.section];
// заполнение ячейки User-а
return cell;
}
else
{
CommentViewCell *commentCell = [[self tableViewAllCheckins] dequeueReusableCellWithIdentifier:@"CommentCell"];
UserInfo *userInfo = self.users[indexPath.section];
CommentInfo *comment = userInfo.comments[indexPath.row - 1]; // так как нулевая ячейка в секции принадлежит пользователю, а первая ячейка принадлежит нулевому комментарию, то надо сделать минус 1
// заполнение ячейки Comment-а
return commentCell;
}
}
//как-то так должен выглядеть MyImagesView.m файл
@interface MyImagesView ()
@property (nonatomic, strong) UIImageView *imageView;
@property (nonatomic, assign) int currentImage;
@property (nonatomic, assign) int totalImages;
@end
@implementation
/*
* этот метод надо вызывать в таймере. обязательно в Main Thread
*/
- (void)showNextImage
{
assert([NSThread isMainThread] == YES);
self.currentImage ++;
if (self.currentImage == self.totalImages)
{
// что бы отображать картинки циклически
self.currentImage = 0;
}
UIImageView *newImageView = [[UIImageView alloc] initWithFrame:self.bounds];
newImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"image_name%i.png", self.currentImage]];
[self.imageView removeFromSuperview]; // убираем прирыдущий кадр из view-хи (затираем сильную ссылку номер 1)
self.imageView = nil; // убираем сильную ссылку номер два (тут UIImageView должна выгрузиться из памяти, а с ней и UIImage)
[self addSubview:newImageView]; // закидываем новый кадр во view-ху (создаём сильную ссылку номер 1)
self.imageView = newImageView; // сохраняем ссылку на новый кадр что бы иметь в следующем вызове метода showNextImage ссылку на предыдущий кадр (создаём сильную ссылку номер 2)
}
@end
newImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"image_name%i.png", self.currentImage]];
на:NSString *imageName = [NSString stringWithFormat:@"image_name%i", self.currentImage];
newImageView.image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:imageName ofType:@"png"]];
<?php
$data = array(
array(
'title' => 'Arduino #1',
'id' => 1,
'image' => 'http://www.casemods.ru/templates/images/texts/3_4119479.jpg',
'top' => 200,
'left' => 300,
'width' => 800,
'height' => 760,
'points' => array(
'id' => 1,
'objectId' => 1,
'top' => 300,
'left' => 500,
'tip' => 500,
),
),
array(
'title' => 'Arduino #2',
'id' => 2,
'image' => 'img/objects/arduino.png',
'top' => 200,
'left' => 300,
'width' => 800,
'height' => 760,
'points' => array(
'id' => 1,
'objectId' => 2,
'top' => 300,
'left' => 500,
'tip' => 500,
),
)
);
?>
<script type="text/javascript">
var data = <?php echo json_encode($data); ?>;
console.log(data[0]["title"]);
</script>
//файл A.h
@protocol ADelegate <NSObject>
- (void)aDelegateMethod;
@end
@interface A : NSObject
@property (nonatomic, weak) id<ADelegate> delegate;
/*
Описывая делегат таким образом мы скрываем объект за протоколом ADelegate.
В вашем случае модель не будет знать что у неё делегат это контроллер, модель будет
думать что там есть некий объект который отвечает на ADelegate протокол и кто там конкретно не важно
*/
@end
//файл B.h
#import "A.h"
@interface B : NSObject <ADelegate>
@end
//файл B.m
@implementation B
- (void)foo
{
A *a = [A new];
a.delegate = self;
}
#pragma mark - ADelegate Protocol
- (void)aDelegateMethod
{
}
@end
if (isset($r))
{
echo "Текст";
}
if ($r == true)
{
echo "Текст";
}
if ($r === true)
{
echo "Текст";
}
int n, m;
int **a;
//read n
//read m
a = (int **)malloc(sizeof(int *) * n);
for (int i = 0; i < m; i++)
{
a[i] = (int *)malloc(sizeof(int) * m);
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
a[i][j] = 1;
}
}
std::vector< std::vector<int> > a;
int n, m;
//read n
//read m
for (int i = 0; i < n; i++)
{
std::vector<int> v(m);
for (int j = 0; j < m; j++)
{
v[j] = (i + j);
}
a.push_back(v);
}
std::cout << a[3][3] << std::endl;
https://api.vk.com/method/users.search?access_token=<access_token>&sig=<sig>
sig = md5('/method/users.search?access_token=<access_token>' + SECRET)