Pošto nisam vešt sa php mučim se već dva dana da prilagodim jedan red koda. Naime, pomoću ove( i još nekih skripti) korisnik može da zipuje folder. Ja bih želio kada se taj folder zipuje da mu ime korisnika bude naziv. To je red 1304 koji nikako da sredim. U redu 734 imam f-ju getUserNameFromId($id), pretpostavljam da pomoću nje treba da dobijem ime korisnika, al nikako da to uklopim u red 1304. Šta god da upišem tu kao naziv mi vraća "array.zip". Ako neko može da pomogne, u prilogu je fajl. Hvala
Pomoc oko izmene u php kodu
Zaključano
Zakačeno
getUserNameFromId($id) očigleno ne vraća ime kao string nego kao niz.
Prvo rezultat te funkcijr smesti u neku promenljivu pa sa print_r() pogledaj sta sve dobijaš u tom nizu i onda ćeš znati šta da uzmeš iz niza da bi napravio ime datoteke.
Prvo rezultat te funkcijr smesti u neku promenljivu pa sa print_r() pogledaj sta sve dobijaš u tom nizu i onda ćeš znati šta da uzmeš iz niza da bi napravio ime datoteke.
Probao sam al nisam dobio. Možete li mi reći kako i u kom redu da smestim u promenljivu, ja sam probao da mi 1304 red izgleda ovako $name = print_r($res['name']).'.zip'; ali nisam uspio.
Ova konstrukcija $name = print_r($res['name']).'.zip'; me je uverila da je pomagati ti gubljenje vremena, pošto očigledno nisi rad da sam pronađeš i pročitaš ni najosnovnije stvari.
Rekoh da ne poznajem php, i tražio sam samo da mi neko pomogne oko izmene koda. Možda neko i pomogne a Vama svakako hvala.
Neznanje nije opravdanje za netrud.
Tačno, ali ni "znanje" nije opravdanje za bahato ponašanje. Kad već nećete da pomognete ne morate držati ni predavanje. Rekoh da mi treba samo za taj red tako da mi se ne isplati učiti.
Ubaci ovo u red iznad i postavi ovde šta ti vraća:
Code:
$temp = getUserNameFromId($id); var_dump($temp); die;
$temp = getUserNameFromId($id); var_dump($temp); die;
Potpis
Citat:
timberman:
Tačno, ali ni "znanje" nije opravdanje za bahato ponašanje. Kad već nećete da pomognete ne morate držati ni predavanje. Rekoh da mi treba samo za taj red tako da mi se ne isplati učiti.
Tačno, ali ni "znanje" nije opravdanje za bahato ponašanje. Kad već nećete da pomognete ne morate držati ni predavanje. Rekoh da mi treba samo za taj red tako da mi se ne isplati učiti.
Bahato ponasanje? Rekao sam ti sta treba da uradis a ti ako vec nisi razumeo nisi se ni potrudio da procitas opis funkcije print_r().
Ovaj forum je na glasu po tome sto se na njemu razmenjuje znaje i moze dosta toga da se nauci, ali ne i da dobijas gotova resenja a da ne moras ni prstom da mrdnes. Ako se ko ovde bahati to si ti. Ako ti treba pomoc, onda moras pokazati da tu pomoc zavredjujes (pre svega sopstvenim trudom da resis problem i da nesto naucis) a ne da vredjas nekoga ko ti pomaze zato sto neces da se potrudis da razumes i naucis.
$name = getUserNameFromId($id);
$name = $name['name'].'.zip';
ili ako zelis da zamenis prazna mesta u $name :
$name = str_replace(' ','_',$name['name']).'.zip';
Ili kao sto je rekao Nemanja Avramović uradi var_dump(getUserNameFromId($id)); i posalji rezultat ovde
$name = $name['name'].'.zip';
ili ako zelis da zamenis prazna mesta u $name :
$name = str_replace(' ','_',$name['name']).'.zip';
Ili kao sto je rekao Nemanja Avramović uradi var_dump(getUserNameFromId($id)); i posalji rezultat ovde
Nemanja, ubacio sam ovo što ste rekli i vraća mi bool(false) .
Ptosic, svoj red $name = getUserNameFromId($id).'.zip'; sam zamenio sa dva Vaša
$name = getUserNameFromId($id);
$name = $name['name'].'.zip';
i kao naziv fajla mi vraća .zip
Predraže, rekao sam da ne znam php, i trebalo bi mi dosta vremena da naučim da bih promenio samo jedan red, a ne planiram se baviti sa php-om, a Vi odmah sudite da je neko izgubljen slučaj. Zato sam rekao ako nekome ne želite da pomognete, nije problem, al ne odmažite,
Ptosic, svoj red $name = getUserNameFromId($id).'.zip'; sam zamenio sa dva Vaša
$name = getUserNameFromId($id);
$name = $name['name'].'.zip';
i kao naziv fajla mi vraća .zip
Predraže, rekao sam da ne znam php, i trebalo bi mi dosta vremena da naučim da bih promenio samo jedan red, a ne planiram se baviti sa php-om, a Vi odmah sudite da je neko izgubljen slučaj. Zato sam rekao ako nekome ne želite da pomognete, nije problem, al ne odmažite,
To je tako kada gledam na brzinu ... vidim da funkcija getUserNameFromId() vec vraca $res['name'] vec. Hajde da probamo jos jednu stvar :
ispod linije (trebalo bi da je 747 kod tebe ) : $res = Database::fetch_array($result);
stavi var_dump($res);
da vidim sta dobijas iz baze
ispod linije (trebalo bi da je 747 kod tebe ) : $res = Database::fetch_array($result);
stavi var_dump($res);
da vidim sta dobijas iz baze
Vraća mi
array(2) { ["name"]=> string(13) "Marko Markovic" [0]=> string(13) "Marko Markovic" } array(2) { ["name"]=> string(13) "Marko Markovic" [0]=> string(13) "Marko Markovic" } array(2) { ["name"]=> string(13) "Marko Markovic" [0]=> string(13) "Marko Markovic" } array(2) { ["name"]=> string(13) "Marko Markovic" [0]=> string(13) "Marko Markovic" }
gdje je Marko Markovic logovani korisnik.
array(2) { ["name"]=> string(13) "Marko Markovic" [0]=> string(13) "Marko Markovic" } array(2) { ["name"]=> string(13) "Marko Markovic" [0]=> string(13) "Marko Markovic" } array(2) { ["name"]=> string(13) "Marko Markovic" [0]=> string(13) "Marko Markovic" } array(2) { ["name"]=> string(13) "Marko Markovic" [0]=> string(13) "Marko Markovic" }
gdje je Marko Markovic logovani korisnik.
po ovome bi ti morao da dobijes name kao string u liniji 1304.
To mozes i da proveris, ispod te linije stavi var_dump($name)
znaci ispod $name = getUserNameFromId($id).'.zip';
To mozes i da proveris, ispod te linije stavi var_dump($name)
znaci ispod $name = getUserNameFromId($id).'.zip';
Ako sam Vas dobro shvatio Vi kažete da bi kod koji sam stavio u prvom postu trebalo da radi?
Kad stavim
$name = getUserNameFromId($id).'.zip';
var_dump($name);
ne dešava se ništa, radi normalno samo kada preuzimam fajl daje mu naziv .zip
Inače, ranije je u redu 1304 stajalo
$name = 'Tekst'.api_get_utc_datetime().'.zip';
i vraća mi naziv npr. tekst2016-09-27-143209.zip
ako ispod
$name = 'Tekst'.api_get_utc_datetime().'.zip';
stavim
var_dump($name);
ništa se ne dešava, radi normalno i vraća tekst2016-09-27-143209.zip
Kad stavim
$name = getUserNameFromId($id).'.zip';
var_dump($name);
ne dešava se ništa, radi normalno samo kada preuzimam fajl daje mu naziv .zip
Inače, ranije je u redu 1304 stajalo
$name = 'Tekst'.api_get_utc_datetime().'.zip';
i vraća mi naziv npr. tekst2016-09-27-143209.zip
ako ispod
$name = 'Tekst'.api_get_utc_datetime().'.zip';
stavim
var_dump($name);
ništa se ne dešava, radi normalno i vraća tekst2016-09-27-143209.zip
Ako ti onaj kod koji sam ti ja dao vraća boolean false, to znači da korisnik sa tim ID-om nije pronađen (niko nije ulogovan?)
Gledajući na brzinu funkciju getUserNameFromId($id) izgleda da bi trebalo da vrati string, a iz tvoje prve poruke zvuči kao da vraća niz. Proveri šta onaj moj kod vraća kad je korisnik ulogovan.
Gledajući na brzinu funkciju getUserNameFromId($id) izgleda da bi trebalo da vrati string, a iz tvoje prve poruke zvuči kao da vraća niz. Proveri šta onaj moj kod vraća kad je korisnik ulogovan.
Potpis
Sada sam ponovo iznad 1304 stavio
$temp = getUserNameFromId($id); var_dump($temp); die;
i vraća mi bool(false). Korisnik je ulogovan jer samo tako može pristupiti sekciji za download.
$temp = getUserNameFromId($id); var_dump($temp); die;
i vraća mi bool(false). Korisnik je ulogovan jer samo tako može pristupiti sekciji za download.
Ljudi, hvala puno, sredio sam uz vašu pomoć. U 1304 red sam uneo
$name = getUserNameFromId(api_get_user_id()).'.zip';
i radi.
$name = getUserNameFromId(api_get_user_id()).'.zip';
i radi.
Da ne bih otvarao temu pitaću ovde, pošto menjam isti kod. Hteo bih da mi ovaj zip fajl bude zaštićen lozinkom. Vidim da ovaj moj kod za zipovanje koristi klasu (ako je to klasa) PclZip
Da li neko zna da li se pomoću PclZip može zaštititi fajl.
Video sam da to može da se uradi pomoću klase ZipArchive, al sad ne znam koliki je posao da umesto PclZip samo u ovom delu koda koristim ZipArchive. Ako je neko radio sa tim klasama ako može da pomogne.
Code (php):
$zip = new PclZip($temp_zip_file);
foreach ($files as $value) {
$zip->add(
api_get_path(SYS_COURSE_PATH).$_course['path'].'/dropbox/'.$value['filename'],
PCLZIP_OPT_REMOVE_ALL_PATH,
PCLZIP_CB_PRE_ADD,
'my_pre_add_callback'
);
}
foreach ($files as $value) {
$zip->add(
api_get_path(SYS_COURSE_PATH).$_course['path'].'/dropbox/'.$value['filename'],
PCLZIP_OPT_REMOVE_ALL_PATH,
PCLZIP_CB_PRE_ADD,
'my_pre_add_callback'
);
}
Da li neko zna da li se pomoću PclZip može zaštititi fajl.
Video sam da to može da se uradi pomoću klase ZipArchive, al sad ne znam koliki je posao da umesto PclZip samo u ovom delu koda koristim ZipArchive. Ako je neko radio sa tim klasama ako može da pomogne.
Ljudi ti dali mali prst, sad bi hteo celu šaku... sedi pa nauči.