Добавяне на стринг към url в масив

Pok4

Registered
Здравейте,
Почти съм готов с парсера за imot.bg (дръпнал съм всичко), но имам 1 проблем който касае моята тема.. Значи аз в датабазата имам полета, които искат определена информация и снимките трябва да са големи. Имам следния масив:
array(14) {
[0]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_34.jpg"
[1]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_ZZ.jpg"
[2]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_Zy.jpg"
[3]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_za.jpg"
[4]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_jo.jpg"
[5]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_Dv.jpg"
[6]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_IQ.jpg"
[7]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_7t.jpg"
[8]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_2g.jpg"
[9]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_lh.jpg"
[10]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_vG.jpg"
[11]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_2A.jpg"
[12]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_SM.jpg"
[13]=>
string(45) "//cdn3.focus.bg/imot/photosnb/257/6257_hC.jpg"
}

Искам да добавя навсякъде след последната наклонена черта /big/, тоест да стане така:
//cdn3.focus.bg/imot/photosnb/257/big/6257_hC.jpg
а както виждате преди е
//cdn3.focus.bg/imot/photosnb/257/6257_hC.jpg

Тоест, искам изображението да се лоудва от директорията им big, за да е голямо.
Търсих разни неща, но в предвид, че е в масив има известни въпросителни за мен как да подходя по по-добрия начин.
Тоест искам само след крайната наклонена черта да добавя на всичко в масива big/, за да са големите изображения, а не малките.

Всичко ми работи, инфото се дърпа и инсертва, но само проблема е в изображенията на които зацепих..
Видях различни функции, но вие кажете как да стане по по-добрия начин..
 
Най-простия начин.

PHP:
<?php

$img = "//cdn3.focus.bg/imot/photosnb/257/6257_hC.jpg";

var_dump(sprintf("%s/big/%s", dirname($img), basename($img)));
 
Това ще обходи ли в масива?
Лаптопа му падна батерията и съм от телефона..
Целта е да обходи масива.. Вероятно ще трябва foreach, но в момента няма как да тествам.. :(
Вътре във foreach-a, да сложа това, което ми даде, нали така?
 
Трябва да си извъртиш масива сам.

Иначе имаш варианти: array_walk, array_map, foreach...

array_walk() директно модифицира оригиналния масив
PHP:
<?php

$imgs = ["//cdn3.focus.bg/imot/photosnb/257/6257_hC.jpg", "//cdn3.focus.bg/imot/photosnb/257/6257_hD.jpg", "//cdn3.focus.bg/imot/photosnb/257/6257_hE.jpg"];

array_walk($imgs, function (&$imgPath) {
    $imgPath = sprintf("%s/big/%s", dirname($imgPath), basename($imgPath));
});

var_dump($imgs);

Ако искаш да е immutable тогава ползвай array_map(), който ще генерира нов масив и ще запази оригиналния.
PHP:
$imgs = ["//cdn3.focus.bg/imot/photosnb/257/6257_hC.jpg", "//cdn3.focus.bg/imot/photosnb/257/6257_hD.jpg", "//cdn3.focus.bg/imot/photosnb/257/6257_hE.jpg"];

$newImgs = array_map(function ($imgPath) {
    return sprintf("%s/big/%s", dirname($imgPath), basename($imgPath));
}, $imgs);

var_dump($newImgs);
 
  • Love
Реакции: Pok4
Супер! Благодаря!
 
Може ли линк ?
 
хм.. ще искат пари.. Аз съм го измислил с аякс, да обхожда страниците на по-малко. Сайта им предлага търсене в няколко категории градове и ще прасна линка в парсера така с многото градове и ще си обходя каквото ми трябва.
Това са 30-40 страници..
От апи-то им най-вероятно ще трябва да плащам пари за х рекуести и х обяви...
Въобще няма да се занимавам с тях.
После продължавам с alo.bg. Само от 2-та сайта ще дърпам, друго не ме интересува.
 
Трайте си, да не вземат някой ъпдейт да направят.. Че от мобилната им версия само една опашка на заек може да хванеш..
В десктоп версията всичко е от 2000г...още табличка ползват със style= таг..
Темплейта който купих е добър от към всичко и ще свърши работа, но всичко е микс.. Мешано php с html.. Та то системата, която качих тук за продажба е по-добре написана от повечето хардкоднати неща, които видях в темплейта..

Магарета колкото щеш.. Както и да е.. Продължаваме напред..
 
Мешано php с html.. Та то системата, която качих тук за продажба е по-добре написана от повечето хардкоднати неща, които видях в темплейта..
много смело на база кода който си споделял до тук, осбенно js-a ти е много слаб.
 
Аз въобще се чудя как е допусната до themeforest в предвид, че има code review.
Аз поне съм се стремил да избягвам php в темплейтите.. Системата не е моя, но аз я продължих така да се каже..
Има си забележки, но в сравнение с тази тема която купих е доста по-добре...
Да не говорим, че плъгините са писани с ci (codeigniter), въобще не знам как са ги сгодили с wordpress.. Плъгините вървят към темата и са на един автор.. В датабазата пък вместо да ползват 1 таблица, те са ги разделили на цели 4, тоест обявите зависят от още 3 таблици.. На мен сега ми представлява трудност да ги свържа с парсера..
Поне съпорт има и отговаря бързо.. Направихме някои корекции и той помогна...
Аз не съм професионалист и не работя това, просто за фън го правя :) А сега заради майка ми..
Иначе от 10-тина години се занимавам, но само любителски.. не претендирам за нищо.. Който иска, мога да му дам на лс темплейта да го разгледа и да види, че е доста зле написан..
 
В датабазата пък вместо да ползват 1 таблица, те са ги разделили на цели 4, тоест обявите зависят от още 3 таблици.
Ние знаем, че си новобранец. Очевидно не си чувал за нормализиране на база данни.
 
Не съм чувал, но в случая не видях смисъл от другите таблици.. Все едно и също, което го има и в главната..
Repository колона, която държи снимките в json формат, а пък не се ползва, а се използва файлова таблица със същите данни, но зависещи от repository_id колона и пак снимките до нея (в друга колона)

Имам чувство, че може и да са откраднали от части някъде от някой..
А пък в главната таблица има поне 10 колони, които са null.. Прерових всичко и нищо не видях да им слага стойности..

В темплейта всичко е без темплейтна система писано.. Php... Html... Php така е структурата.
Темплейта е качен 2018.
Първоначално като го качих имаше бъгове и след като писах на автора той ги оправи, но ме предупреди, че няма да работи под php8 или по-нова.. И сега ме е страх да ъпдейтвам заради темата.. Сега съм с 6.1.1 и php 7.4,а виждам в блога, че идва нова версия през Март...
С вързани ръце съм и имам съмнения, че темата ще се ъпдейтнe някога.. Много е голяма, а плъгините към нея са около 20..Главния плъгин е 900+файла,зaради CI..
И да.. Все пак е допусната и се сваля все още..

Има още глупости, но и аз си имам мое мнение как да си кодирам и структурирам нещата..
 
Последно редактирано:

Back
Горе