PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 5
bogdan_titomir Отправлено: 21 Октября, 2017 - 11:12:30 • Тема: Проблема с разбивкой папок: 10000 папок разбить на 100 папок • Форум: Вопросы новичков

Ответов: 1
Просмотров: 156
Изменил код но все равно в 1 папку свыше 1000 элементов идет что делать подскажите?

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.     $host = '127.0.0.1';
  4.     $db   = 'gigal';
  5.     $user = 'root';
  6.     $pass = '';
  7.     $charset = 'utf8';
  8.     $objectId = '';
  9.     $image = '';
  10.     $row = '';
  11.     $id = '';
  12.     $number_catalog = 1;
  13.  
  14.     $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  15.     /*
  16.     $opt = [
  17.         PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  18.         PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  19.         PDO::ATTR_EMULATE_PREPARES   => false,
  20.     ];
  21.     */ // TODO
  22.    
  23.     $pdo = new PDO($dsn, $user, $pass);
  24.  
  25.     $stmt = $pdo->query('SELECT * FROM id_images');
  26.  
  27.     while ($row = $stmt->fetch(PDO::FETCH_LAZY))
  28.     {
  29.         $row_object = $row['objectId'];
  30.         $row_image = $row['image'];
  31.         $id_image = $row['id'];
  32.         $type_image = $row['ext'];
  33.  
  34.         $count_dir = count(glob("../uploads/image/{$number_catalog}/*.*"));
  35.  
  36.         if($count_dir < 100) {
  37.         $strukture = "../uploads/image/{$number_catalog}/";
  38.         $path = $strukture.$row_object;
  39.         mkdir($path,true);
  40.         file_put_contents("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  41.         } else if ($count_dir > 100) {
  42.             $number_catalog = $number_catalog + 1;
  43.             mkdir($path,true);
  44.             file_put_contents("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  45.         }
  46.        
  47.     }
  48. ?>

(Добавление)
Всем спасибо! Справился сам кому интересно или у кого похожие проблемы выкладываю код.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.     $host = '127.0.0.1';
  4.     $db   = 'gigal';
  5.     $user = 'root';
  6.     $pass = '';
  7.     $charset = 'utf8';
  8.     $objectId = '';
  9.     $image = '';
  10.     $row = '';
  11.     $id = '';
  12.     $number_catalog = 1;
  13.  
  14.     $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  15.     /*
  16.     $opt = [
  17.         PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  18.         PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  19.         PDO::ATTR_EMULATE_PREPARES   => false,
  20.     ];
  21.     */ // TODO
  22.    
  23.     $pdo = new PDO($dsn, $user, $pass);
  24.  
  25.     $stmt = $pdo->query('SELECT * FROM id_images');
  26.  
  27.     while ($row = $stmt->fetch(PDO::FETCH_LAZY))
  28.     {
  29.         $row_object = $row['objectId'];
  30.         $row_image = $row['image'];
  31.         $id_image = $row['id'];
  32.         $type_image = $row['ext'];
  33.  
  34.         $count_dir = count(glob("../uploads/image/{$number_catalog}/*"));
  35.  
  36.         if($count_dir < 100) {
  37.         $strukture = "../uploads/image/{$number_catalog}/";
  38.         $path = $strukture.$row_object;
  39.         mkdir($strukture,true);
  40.         mkdir($path,true);
  41.         file_put_contents("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  42.         } else {
  43.             $number_catalog++;
  44.             mkdir($strukture,true);
  45.             mkdir($path,true);
  46.             file_put_contents("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  47.         }
  48.        
  49.     }
  50. ?>


Единственный вопрос у меня картинки не открываются но понятно там ширины и высоты у них нет но в базе данных есть таблицы с шириной и высотой можно же при выводе передавать из таблицы в файл ширину и высоту и при выводе они будут работать?
bogdan_titomir Отправлено: 21 Октября, 2017 - 08:38:19 • Тема: Проблема с разбивкой папок: 10000 папок разбить на 100 папок • Форум: Вопросы новичков

Ответов: 1
Просмотров: 156
Написал на pdo парсер теперь проблема с сортировкой так как в 1 папку залезает 10000 папок нужно разбить 100x100 папок.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.     $host = '127.0.0.1';
  5.     $db   = 'gigal';
  6.     $user = 'root';
  7.     $pass = '';
  8.     $charset = 'utf8';
  9.     $objectId = '';
  10.     $image = '';
  11.     $row = '';
  12.     $id = '';
  13.  
  14.     $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  15.  
  16.     $opt = [
  17.         PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  18.         PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  19.         PDO::ATTR_EMULATE_PREPARES   => false,
  20.     ];
  21.     $pdo = new PDO($dsn, $user, $pass, $opt);
  22.  
  23.     $stmt = $pdo->query('SELECT * FROM id_images');
  24.  
  25.         /* TODO
  26.         header("Content-Type: image/jpeg");
  27.         */
  28.         $number_catalog = 1;
  29.     while ($row = $stmt->fetch(PDO::FETCH_LAZY))
  30.     {
  31.         $row_object = $row['objectId'];
  32.         $row_image = $row['image'];
  33.         $id_image = $row['id'];
  34.         $type_image = $row['ext'];
  35.         $count_dir = count(glob("../uploads/image/{$number_catalog}/*.*"));
  36.  
  37.         if($count_dir = 0 || $count_dir = 100) {
  38.         $strukture = "../uploads/image/{$number_catalog}/";
  39.         $path = $strukture.$row_object;
  40.         mkdir($path,true);
  41.         file_put_contents("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  42.         } elseif ($count_dir = 101) {
  43.             $number_catalog++; // Понимаю что это бред но как увеличить переменную на единицу?
  44.             mkdir($path,true);
  45.             file_put_contents("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  46.         }
  47.     }
  48. ?>


Выручайте камрады, заранее Вам спасибо!
bogdan_titomir Отправлено: 21 Октября, 2017 - 08:36:32 • Тема: Проблема с разбивкой папок: 10000 папок разбить на 100 папок • Форум: Вопросы новичков

Ответов: 0
Просмотров: 79
Написал на pdo парсер теперь проблема с сортировкой так как в 1 папку залезает 10000 папок нужно разбить 100x100 папок.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.     $host = '127.0.0.1';
  4.     $db   = 'gigal';
  5.     $user = 'root';
  6.     $pass = '';
  7.     $charset = 'utf8';
  8.     $objectId = '';
  9.     $image = '';
  10.     $row = '';
  11.     $id = '';
  12.  
  13.     $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  14.  
  15.     $opt = [
  16.         PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  17.         PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  18.         PDO::ATTR_EMULATE_PREPARES   => false,
  19.     ];
  20.    
  21.     $pdo = new PDO($dsn, $user, $pass, $opt);
  22.    
  23.  
  24.     $stmt = $pdo->query('SELECT * FROM id_images');
  25.  
  26.         /* TODO
  27.         header("Content-Type: image/jpeg");
  28.         */
  29.         $number_catalog = 1;
  30.     while ($row = $stmt->fetch(PDO::FETCH_LAZY))
  31.     {
  32.         $row_object = $row['objectId'];
  33.         $row_image = $row['image'];
  34.         $id_image = $row['id'];
  35.         $type_image = $row['ext'];
  36.         $count_dir = count(glob("../uploads/image/{$number_catalog}/*.*"));
  37.  
  38. //Начало сортировки тут затык!
  39.         if($count_dir = 0 && count_dir = 100) {
  40.         $strukture = "../uploads/image/{$number_catalog}/";
  41.         $path = $strukture.$row_object;
  42.         mkdir($path,true);
  43.         file_put_contents("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  44.         } elseif ($count_dir = 101) {
  45.             $number_catalog++;
  46.             mkdir($path,true);
  47.             file_put_contents("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  48.         }
  49.     }
  50. ?>


Выручайте камрады, заранее Вам спасибо!
bogdan_titomir Отправлено: 09 Октября, 2017 - 13:21:11 • Тема: Можно ли создать парсер на PHP? • Форум: Программирование на PHP

Ответов: 1
Просмотров: 413
Можно ли создать парсер который вытащит строки из базы данных каждая строка BLOB их порядка 66000.

Причем 10000 объектов (компаний) у каждой компании есть (логотип, схема проезда, и карта сайта).

Получается надо создать 10000 папок и в каждой папке должны быть свои картинки схемы проезда и логотипы.

В базе данных все это прописано просто нагружает сильно серв и надо использовать это в файловой системе.

Написал код не судите строго только встал на этот путь. Заранее спасибо.



PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $serverMySQL="localhost"; // сервер MySQLi
  4. $db="mydb"; // база данных
  5. $dblog="root"; // логин
  6. $dbpass=""; // пароль
  7.  
  8. $mi=new mysqli($serverMySQL, $dblog, $dbpass, $db);
  9. $mi->set_charset("utf8");
  10. if($mi->connect_errno):
  11.     die($mi->connect_error);
  12. endif;
  13. // Подключение к базе
  14.  
  15. $PublicationID;
  16.  
  17. header('Content-type: image/jpeg; charset=utf-8');
  18.  
  19. $SQLRequest = "SELECT image FROM id_images WHERE objectId=".$PublicationID.""; // objectid id компании(объекта)
  20.  
  21. $query = mysqli_query($SQLRequest) or die (mysqli_error());
  22.  
  23. $row = mysqli_fetch_array($query, MYSQLI_ASSOC);
  24.  
  25. $rows = mysqli_num_rows($row); // количество полученных строк
  26.  
  27. for ($i = 0 ; $i < $rows; $i++) {
  28.  
  29. $SQLRequest = "SELECT image FROM id_images WHERE objectId=".$PublicationID."";
  30.  
  31. $query = mysqli_query($SQLRequest) or die (mysqli_error());
  32.  
  33. $row = mysqli_fetch_array($query, MYSQLI_ASSOC);
  34.  
  35.     $strukture = "../gigal/templates/gigal/images/gallery/'.$PublicationID.'";
  36.     if (mkdir($structure, 0777, true)) {
  37.         echo "Папка '.$PublicationID.' создана";
  38.     }else {
  39.         echo "Папка не создана";
  40.     }
  41. }
  42.  
  43. // Отключение базы
  44.  
  45. ?>
bogdan_titomir Отправлено: 07 Октября, 2017 - 13:39:54 • Тема: Проблема с настройкой Xdebug + Netbeans • Форум: Программирование на PHP

Ответов: 0
Просмотров: 569
Версия php 5.5, apache 2.4, mysql 5.5
Локальный сервер: Openserver
Версия Netbeans 8,2.

Настройки Xdebug:
zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll"
xdebug.default_enable = 1
xdebug.auto_trace = 0
xdebug.collect_includes = 1
;xdebug.collect_params = 4
;xdebug.collect_return = 1
;xdebug.collect_assignments = 1
;xdebug.collect_vars = 1
xdebug.dump.REQUEST = *
xdebug.dump.SESSION = *
xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.COOKIE =
;xdebug.dump.FILES =
;xdebug.dump.GET =
;xdebug.dump.POST =
xdebug.dump_globals = 1
xdebug.dump_once = 1
xdebug.dump_undefined = 1
xdebug.extended_info = 0
;xdebug.file_link_format = ""
xdebug.idekey = netbeans
;xdebug.manual_url = "http://www.php.net"
xdebug.max_nesting_level = 256
xdebug.overload_var_dump = 1
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "%sprogdir%/userdata/temp/xdebug/"
xdebug.profiler_output_name = "cachegrind.out.%H%R"
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
;xdebug.remote_log = "none"
xdebug.remote_mode = req
xdebug.remote_port = 9800
;xdebug.scream = 1
;xdebug.show_exception_trace = 0
xdebug.show_local_vars = 1
;xdebug.show_mem_delta = 1
;xdebug.trace_format = 1
;xdebug.trace_options = 1
xdebug.trace_output_dir = "%sprogdir%/userdata/temp/xdebug/"
;xdebug.trace_output_name = "trace.%H%R"
xdebug.var_display_max_children = 256
;xdebug.var_display_max_data = 1024
xdebug.var_display_max_depth = 6

В phpinfo() xdebug показывается со всеми настройками.

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with the ionCube PHP Loader v4.7.2, Copyright (c) 2002-2014, by ionCube Ltd., and
with Xdebug v2.5.4, Copyright (c) 2002-2017, by Derick Rethans

Настройки netbeans:
Путь к интерпретатору.
D:\OpenServer\modules\php\PHP-5.5\php.exe
9800 порт, ключ netbeans, максимальная длина данных 2048.
Галки все снял во вкладке Отладка.

Проблема в том что при включении точек остановы и запуске выходит сообщение ожидание подключения(netbeans) и все.

Выручайте камрады, заранее спасибо!

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB