Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Napraviti folder, preimenovati fajl i prebaciti ga u php-u

[es] :: PHP :: PHP za početnike :: Napraviti folder, preimenovati fajl i prebaciti ga u php-u

[ Pregleda: 3071 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bugsu
Vojvodina - Subotica

Član broj: 40006
Poruke: 381
93.87.154.*



+3 Profil

icon Napraviti folder, preimenovati fajl i prebaciti ga u php-u01.08.2009. u 11:11 - pre 179 meseci
Pozdrav...


Imam slike koje se vode imenom
ar_31_1
ar_31_2
ar_31_3
.....
ar_31_10


e sad meni treba

da izbrisem " ar_31_ " iz imena...da napravim folder " 31 " i da sve slike koje su bile pod " ar_31_x " prebacim u taj folder....

e sad posto nemam samo ar_31_X vec i ar_02_X , ar_56_x etc... meni to treba automatski sve....


snacu se sa rename move i sl ...ali kako automatski da napravim ?
Say NO to pop culture!!!
Crno je uvek u modi....
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.dynamic.stcable.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Napraviti folder, preimenovati fajl i prebaciti ga u php-u01.08.2009. u 12:30 - pre 179 meseci
Nem' vremena da pisem kod...

Skeniraj folder sa http://www.php.net/manual/en/function.scandir.php dobijes niz, prodjes kroz svaki element niza, sa http://www.php.net/manual/en/function.preg-match.php nadji delove imena fileova koje zelis, posle proveris da li takav folder postoji sa http://www.php.net/manual/en/function.is-dir.php ako ne postoji sa http://www.php.net/manual/en/function.mkdir.php napravis taj folder, i posle samo prebacis file koji zelis na mesto koje zelis :)

prosto :)
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
79.101.133.*



+33 Profil

icon Re: Napraviti folder, preimenovati fajl i prebaciti ga u php-u01.08.2009. u 14:33 - pre 179 meseci
Ne moraš da ideš sa preg_match, možeš jednostavno substr-om da izvučeš tu srednju brojku, npr.: $folder = substr($fajl, strpos($fajl, '_') + 1, 2);

I sve bi to išlo u toj petlji nakon scandir-a, evo recimo ovako nekako:
Code:
$putanja = 'putanja/do/slika';
$fajlovi = scandir($putanja);

if (!empty($fajlovi)) {
   foreach ($fajlovi as $fajl) {
      if (substr($fajl, 0, 2) == 'ar') {
         $folder = $putanja . '/' . substr($fajl, strpos($fajl, '_') + 1, 2);

         if (!file_exists($folder)) {
             mkdir($folder);
         }

         move_uploaded_file($putanja . '/' . $fajl, $folder . '/' . $fajl);
         rename($folder . '/' . $fajl, $folder . '/' . substr($fajl, strrpos($fajl, '_') + 1));
      }
   }
}

Nisam probao, pisao sam iz glave, ali valjda bi to trebalo da ide tako nekako...
 
Odgovor na temu

bugsu
Vojvodina - Subotica

Član broj: 40006
Poruke: 381
93.87.154.*



+3 Profil

icon Re: Napraviti folder, preimenovati fajl i prebaciti ga u php-u01.08.2009. u 21:35 - pre 179 meseci
hmm ima jedan mali problem....
Nikola je napisao (hvala ti) substr ali je lenght stavio 2 ....a ja imam slike od X do XXXX ...znaci od nula pa do npr. 9999
i onda sliku od ar_01_01 dobijem samo 01 ....to je problem....

inace lagano (misli osam da ce teze biti) nisam znao da ima "scandir" ....

btw ako nekom zatreba ovaj kod nikola je napravio gresku napisao je
Code:
rename($folder . '/' . $fajl, $folder . '/' . substr($fajl, strrpos($fajl, '_') + 1));


a treba
Code:
rename($putanja . '/' . $fajl, $folder . '/' . substr($fajl, strrpos($fajl, '_') + 1));

Say NO to pop culture!!!
Crno je uvek u modi....
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
79.101.163.*



+33 Profil

icon Re: Napraviti folder, preimenovati fajl i prebaciti ga u php-u01.08.2009. u 22:16 - pre 179 meseci
Citat:
bugsu: hmm ima jedan mali problem....
Nikola je napisao (hvala ti) substr ali je lenght stavio 2 ....a ja imam slike od X do XXXX ...znaci od nula pa do npr. 9999
i onda sliku od ar_01_01 dobijem samo 01 ....to je problem....

Nikakav problem, samo umesto 2 stavi strrpos($fajl, '_'), u prevodu: poslednja pozicija donje crte (obrati pažnju da je to strrpos, sa dva "r" ). Tako ćeš dobiti tačno ono što je između te dve donje crte.

Citat:
bugsu: btw ako nekom zatreba ovaj kod nikola je napravio gresku napisao je
Code:
rename($folder . '/' . $fajl, $folder . '/' . substr($fajl, strrpos($fajl, '_') + 1));


a treba
Code:
rename($putanja . '/' . $fajl, $folder . '/' . substr($fajl, strrpos($fajl, '_') + 1));

Pogreši čovek...
 
Odgovor na temu

bugsu
Vojvodina - Subotica

Član broj: 40006
Poruke: 381
93.87.154.*



+3 Profil

icon Re: Napraviti folder, preimenovati fajl i prebaciti ga u php-u01.08.2009. u 22:53 - pre 179 meseci
huh sad cu biti pain in ass....
primetio sam da imam slike sa imenom ar_1036_0010.jpg
e sad ono 0010 mi smeta trebalo bi mi " 10 " ... kako se toga resiti ? mislim ono da prvo preimenujem pa tek onda ovo iznad da radim al me zanima dal moze sve onako djuture...
Say NO to pop culture!!!
Crno je uvek u modi....
 
Odgovor na temu

Gost




Profil

icon Re: Napraviti folder, preimenovati fajl i prebaciti ga u php-u02.08.2009. u 08:12 - pre 179 meseci
Nisam siguran, ali mislim da bi ona intval() f-ja za string '0010' trebala da vrati 10. Tako da, nakon onog substring-ovanja (od poslednje pozicije donje crte pa do kraja), trebao bi da odradis i jedan intval svega toga, pa da onda tu vrednost nadovezes na $folder, u pozivu rename() f-je.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
93.86.93.*



+33 Profil

icon Re: Napraviti folder, preimenovati fajl i prebaciti ga u php-u02.08.2009. u 10:17 - pre 179 meseci
btw U mom pretposlednjem post-u sam napravio jednu grešku (uvek zaboravim da su drugi i treći argument f-je substr() početna pozicija i dužina, a ne početna pozicija i krajnja pozicija ), pa ako ti za ovo vreme nisi ispravio taj propust, evo kako bi trebao da izgleda taj deo:
Code:

$brojPoz = strpos($fajl, '_') + 1;
$folder = $putanja . '/' . substr($fajl, $brojPoz, strrpos($fajl, '_') - $brojPoz);

A nadam se da si uzeo u obzir i ovaj prethodni post, jer to sam takođe ja poslao, doduše sa mobilnog, ali sam zaboravio da se ulogujem, pa je ispalo "Gost".
 
Odgovor na temu

bugsu
Vojvodina - Subotica

Član broj: 40006
Poruke: 381
79.101.179.*



+3 Profil

icon Re: Napraviti folder, preimenovati fajl i prebaciti ga u php-u02.08.2009. u 10:55 - pre 179 meseci
hvala ti ....sredio sam ja jos juce substr...
Say NO to pop culture!!!
Crno je uvek u modi....
 
Odgovor na temu

bugsu
Vojvodina - Subotica

Član broj: 40006
Poruke: 381
93.86.123.*



+3 Profil

icon Re: Napraviti folder, preimenovati fajl i prebaciti ga u php-u14.08.2009. u 16:53 - pre 178 meseci
uhuhu ...malo sam zglajznuo.. (a znao sam da ce tako biti )

pokrenuo scriptu ona lepo sve uradila /folder/01.jpg 02.jpg etc...

al eto meni problema....pa ja tek sad skontao da meni traba da idu brojevi 1.jpg 2.jpg bez nula :s

i kako ja sad odadim to kad je sve u folderima? jel moguce "dubinski" scandir da se uradi?


EDIT: resio sam tako sto sam dodao jos jedan foreach e sad po meni je to "lame" pa me znaima jel je i bilo drugogo resenja?

[Ovu poruku je menjao bugsu dana 14.08.2009. u 19:04 GMT+1]
Say NO to pop culture!!!
Crno je uvek u modi....
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Napraviti folder, preimenovati fajl i prebaciti ga u php-u

[ Pregleda: 3071 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.