Pereiti prie turinio

keliamo i ftp ir mysql failo pervadinimas


Svečias Donatis07

Rekomenduojami pranešimai

Svečias Donatis07

Sveiki,

 

turiu pasirašęs tokį kodą

	$katalogas = "images/photoalbum/skelbimai/";
@copy($_FILES['pasiulymo_pirmafoto']['tmp_name'], $katalogas.$_FILES['pasiulymo_pirmafoto']['name']);
@copy($_FILES['pasiulymo_antrafoto']['tmp_name'], $katalogas.$_FILES['pasiulymo_antrafoto']['name']);
@copy($_FILES['pasiulymo_treciafoto']['tmp_name'], $katalogas.$_FILES['pasiulymo_treciafoto']['name']);
@copy($_FILES['pasiulymo_ketvirtafoto']['tmp_name'], $katalogas.$_FILES['pasiulymo_ketvirtafoto']['name']);

$foto1 = $_FILES['pasiulymo_pirmafoto']['name'];
$foto2 = $_FILES['pasiulymo_antrafoto']['name'];
$foto3 = $_FILES['pasiulymo_treciafoto']['name'];
$foto4 = $_FILES['pasiulymo_ketvirtafoto']['name'];

 

ir noriu, kad keliamo failo pavadinimas būtų pakeistas iš originalaus į bet kokius atsitiktinius skaičius ar dar kažką...

 

viskas būtų paprasta, tačiau kaip matote, formoje yra keturi failų pasirinkimo input'ai ir jeigu bent vienas nėra įkeliamas, noriu, kad į duomenų bazę nebūtų įrašoma jokia reikšmė...

 

Pavyzdys:

mano pc yra failas bla.jpg

keliu failą į ftp - keičiasi jo pavadinimas (tarkim 1234587.jpg)

į duomenų bazę įrašomas naujas failo pavadinimas (1234587.jpg)

pavadinimai negali kartotis.

jei įkeliami tik 1, du ar trys failai - kitų reikšmės duomenų bazėje turi būti tuščias laukas.

 

---

taip pat reikia, kad keliamiems failams būtų uždėtas dydžio ir plėtinio apribojimas (galimi tik .jpg, .jpeg, .gif)

 

na tikiuosi suprasit...

 

dėkoju už pagalbą!

 

P.S. mysql užklausą pasirašęs...

Redagavo Donatis07
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • Administratoriai

...

išvis logikos nematau daryti skirtingus foto inputo pavadinimus, geriau daryti taip:

Nuotrauka 1<br />
<input type="file" name="pic[]" />
Nuotrauka 2<br />
<input type="file" name="pic[]" />
...
ir t.t.

 

Tada per php pasiimsi iš eilės ir užvadinsi kaip nori

 

 

$katalogas = "images/photoalbum/skelbimai/";
foreach ($_FILES['pic']['error'] as $key => $klaida) {
if ($klaida == UPLOAD_ERR_OK) {
$pavad = time().mt_rand().'_'.strtolower($_FILES['pic']['name'][$key]);
@move_uploaded_file($_FILES['pic']['tmp_name'][$key], $katalogas.$pavad);
// darai ką nori su pavadinimu, galima užsetinti, kad ir taip:
$image[$img] = $pavad;
$img++;
}
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Svečias Donatis07

išvis logikos nematau daryti skirtingus foto inputo pavadinimus, geriau daryti taip:

Nuotrauka 1<br />
<input type="file" name="pic[]" />
Nuotrauka 2<br />
<input type="file" name="pic[]" />
...
ir t.t.

 

Tada per php pasiimsi iš eilės ir užvadinsi kaip nori

 

 

$katalogas = "images/photoalbum/skelbimai/";
foreach ($_FILES['pic']['error'] as $key => $klaida) {
if ($klaida == UPLOAD_ERR_OK) {
$pavad = time().mt_rand().'_'.strtolower($_FILES['pic']['name'][$key]);
@move_uploaded_file($_FILES['pic']['tmp_name'][$key], $katalogas.$pavad);
// darai ką nori su pavadinimu, galima užsetinti, kad ir taip:
$image[$img] = $pavad;
$img++;
}
}

 

o kaip iš vieno field'o atskirai paskui foto išdėliot į skirtingas lenteles? :|

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Svečias Donatis07

išvis logikos nematau daryti skirtingus foto inputo pavadinimus, geriau daryti taip:

Nuotrauka 1<br />
<input type="file" name="pic[]" />
Nuotrauka 2<br />
<input type="file" name="pic[]" />
...
ir t.t.

 

Tada per php pasiimsi iš eilės ir užvadinsi kaip nori

 

 

$katalogas = "images/photoalbum/skelbimai/";
foreach ($_FILES['pic']['error'] as $key => $klaida) {
if ($klaida == UPLOAD_ERR_OK) {
$pavad = time().mt_rand().'_'.strtolower($_FILES['pic']['name'][$key]);
@move_uploaded_file($_FILES['pic']['tmp_name'][$key], $katalogas.$pavad);
// darai ką nori su pavadinimu, galima užsetinti, kad ir taip:
$image[$img] = $pavad;
$img++;
}
}

 

na šiaip ne taip padariau su šituo kodu, tačiau dar viena bėda, į duomenų bazę įrašo tik vieną failą - paskutinį, o ftp jie yra visi, kiek keliu... kaip dar tą išspręst? kurią reikšmę rašyt prie sql užklausos? $image ? bet su $image man į db įrašo reikšmę Array ir viskas ;/

 

Padėkit, prašau

Redagavo Donatis07
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Svečias Donatis07

išvis logikos nematau daryti skirtingus foto inputo pavadinimus, geriau daryti taip:

Nuotrauka 1<br />
<input type="file" name="pic[]" />
Nuotrauka 2<br />
<input type="file" name="pic[]" />
...
ir t.t.

 

Tada per php pasiimsi iš eilės ir užvadinsi kaip nori

 

 

$katalogas = "images/photoalbum/skelbimai/";
foreach ($_FILES['pic']['error'] as $key => $klaida) {
if ($klaida == UPLOAD_ERR_OK) {
$pavad = time().mt_rand().'_'.strtolower($_FILES['pic']['name'][$key]);
@move_uploaded_file($_FILES['pic']['tmp_name'][$key], $katalogas.$pavad);
// darai ką nori su pavadinimu, galima užsetinti, kad ir taip:
$image[$img] = $pavad;
$img++;
}
}

 

na šiaip ne taip padariau su šituo kodu, tačiau dar viena bėda, į duomenų bazę įrašo tik vieną failą - paskutinį, o ftp jie yra visi, kiek keliu... kaip dar tą išspręst? kurią reikšmę rašyt prie sql užklausos? $image ? bet su $image man į db įrašo reikšmę Array ir viskas ;/

 

Padėkit, prašau

 

kaip padaryt, kad masyve rodytu ne paskutini faila, o visus??? ;/

Redagavo Donatis07
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 2 savaičių...
Svečias Donatis07

padėkit pervadint įkeliamą failą.

 

bandžiau daryt taip tada visai nekelia failo...

$photo_name = time().'-'.mt_rand().'_'.strtolower(substr($photo_pic['name'], 0, strrpos($photo_pic['name'], ".")));

 

pilnas kodas, kurį naudoju:

$photo_file1 = ""; $photo_thumba1 = ""; $photo_thumb2 = "";
		if (is_uploaded_file($_FILES['pasiulymo_pirmafoto']['tmp_name'])) {
			$photo_types = array(".gif",".jpg",".jpeg",".png");
			$photo_pic = $_FILES['pasiulymo_pirmafoto'];
			$photo_name = strtolower(substr($photo_pic['name'], 0, strrpos($photo_pic['name'], ".")));
			$photo_ext = strtolower(strrchr($photo_pic['name'],"."));
			$photo_dest = SKELBIMAI;
			if (!preg_match("/^[-0-9A-Z_\.\[\]]+$/i", $photo_pic['name'])) {
				$error = 1;
			} elseif ($photo_pic['size'] > $settings['photo_max_b']){
				$error = 2;
			} elseif (!in_array($photo_ext, $photo_types)) {
				$error = 3;
			} else {
				$photo_file1 = image_exists($photo_dest, $photo_name.$photo_ext);
				move_uploaded_file($photo_pic['tmp_name'], $photo_dest.$photo_file1);
				chmod($photo_dest.$photo_file1, 0644);
				$imagefile = @getimagesize($photo_dest.$photo_file1);
				if ($imagefile[0] > $settings['photo_max_w'] || $imagefile[1] > $settings['photo_max_h']) {
					$error = 4;
					unlink($photo_dest.$photo_file1);
				} else {
					$photo_thumba1 = image_exists($photo_dest, $photo_name."_t1".$photo_ext);
					createthumbnail($imagefile[2], $photo_dest.$photo_file1, $photo_dest.$photo_thumba1, $settings['thumb_w'], $settings['thumb_h']);
					if ($imagefile[0] > $settings['photo_w'] || $imagefile[1] > $settings['photo_h']) {
						$photo_thumb2 = image_exists($photo_dest, $photo_name."_t2".$photo_ext);
						createthumbnail($imagefile[2], $photo_dest.$photo_file1, $photo_dest.$photo_thumb2, $settings['photo_w'], $settings['photo_h']);
					}
				}
			}
		}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pora istrauku is savo klases, turetum suprasti.

 

$this->users_files[1] = $this->current_files_paths[1].self::get_new_id($_FILES['cv']);
move_uploaded_file($_FILES['cv']['tmp_name'], getcwd().$this->users_files[1]);

 

private function get_new_id($file){
return uniqid(time()).".".self::current_file_type($file);
}

private function current_file_type($file){
return strtolower(substr(strrchr($file['name'], '.'), 1));		
}

Redagavo apieviska
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...