# Koenig (01.06.2015 / 20:08)
ДоХтор, чутка критики, в условие цикла не ставь функцию подсчета элементов массива, функция будет вызываться при каждой итерации цикла
[php]
for ($i = 0, $j = 1; $i < sizeof($arr_file); $i++, $j++)
Да, я раньше всегда выносил подсчет элементов массива за пределы цикла, а в этот раз решил сократить количество строчек в коде
А функцию fopen я использовал для построчной записи в файл.
ДоХтор,
$file = 'txt.txt';
$str = test;
file_put_contents($file, $str . PHP_EOL, FILE_APPEND | LOCK_EX);
пообновляй страницу с этим кодом
ДоХтор, просто чем больше цикл, тем больше вызовов функции, не экономь на строчках и пробелах, привыкай сразу делать как можно правильнее
есть куча пособий как делать не надо
вот товарищ писал для новичков
http://annimon.com/article/479
пообновляй страницу с этим кодом
Получаем построчную запись.
А на счёт этой статьи
http://annimon.com/article/479 - я тоже следую этим принципам.
Мой простой класс для роботы с pdo:
<?php
class DB {
protected static $connection;
private static $querycount = 0;
private static $querytime = 0.0;
public static function connection() {
if (is_null(static::$connection)) {
# Данные от бд
$dbcfg = [
'host' => 'localhost',
'name' => 'game2',
'user' => 'root',
'pass' => ''
];
# Параметры подключения
$opt = [
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
];
try {
static::$connection = new PDO("mysql:host=".$dbcfg['host'].";dbname=".$dbcfg['name'], $dbcfg['user'], $dbcfg['pass'], $opt);
} catch (PDOException $e) {
throw new RuntimeException('Не удалось установить соединение с базой данных:%s'. $e->getMessage());
}
}
return static::$connection;
}
public static function prepare($sql, $values = null) {
$stime = microtime(true);
$sth = static::connection()->prepare($sql);
$sth->execute($values);
static::$querytime += (microtime(true) - $stime);
static::$querycount++;
return $sth;
}
public static function getQueryCount() {
return static::$querycount;
}
public static function getQueryTime() {
return self::$querytime;
}
public static function __callStatic($method, array $arguments ) {
return call_user_func_array([static::connection(), $method], $arguments);
}
}
?>
Нашёл у себя старенький скрипт сканера сайтов написанный мной в 2013 году. МБ кому-то пригодится вот
https://www.dropbox.com/s/bn6q ... ?dl=0 . Сюда загружать не могу, так как пишет:
В названии файла присутствуют недопустимые символы
# ДоХтор (01.08.2015 / 14:48)
Заархивируй его в name.zip и загрУзится.
Не поможет, это из-за пути к файлу такая ошибка! Нужно переписывать проверку в движке
# Jahak (01.08.2015 / 15:02)
Не поможет, это из-за пути к файлу такая ошибка! Нужно переписывать проверку в движке
Вот твой архив. Загрузился с первого раза и без каких либо проблем. Так о какой проверке и какого движка ты говоришь?
ДоХтор, он о том, что он супер крут. И файлы с телефона заливать в лом, поэтому пытался грузить с обменника через программу для работы с ним. Вот поэтому и получает ошибку. А скачать 1.5 кбайт сразу в телефон, а потом просто загрузить сюда, ему религия не позволяет. Поэтому виноват джон и его код, из-за того что он не умеет работать с клиентом Dropbox. И до него не доходит, что загрузка файлов и импорт файлов, это разные вещи. У него все мысли о своем супер современном и крутом блоге, который семь месяцев как почти готов, а не об импорте файлов в убогом джоне