Upload presny subor

Programovacie jazyky, rady, poradňa...
nemo
Light Star
Light Star
Príspevky: 206
Registrovaný: 13 júl 2009, 7:09

Upload presny subor

Príspevok od používateľa nemo »

Kód: Vybrať všetko

<?php
  $dovolene = array(".png");
if (isset($_POST["odoslany"])) {
if (is_uploaded_file($_FILES["subor"]["tmp_name"])) {
$name = $_FILES["subor"]["name"];
if(in_array(strrchr($name, '.'),$dovolene)){
$copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "imgg/$name");
} else $copy = false;
if ($copy) {
echo "<img border= '0' src='aimg/info.png'> $name úspešne nahratý <img border= '0' src='aimg/success.png'>";
} else {
echo "<img border= '0' src='aimg/info.png'> Len .png súbory! <img border= '0' src='aimg/warning.png'>";
}
}
}
?>
mam takyto upload bere len .png subory no da sa to tak spravit nech bere len 1.png subor? (myslim tym nazov) ďakujem
Grim
Darca
Darca
Používateľov profilový obrázok
Príspevky: 8702
Registrovaný: 25 jún 2008, 0:54
Bydlisko: pod železničným mostom
Kontaktovať používateľa:

Re: Upload presny subor

Príspevok od používateľa Grim »

//...po preštudovaní celého kódu som zistil, že to takto jednoducho nepôjde...toto fugovať nebude... :nono:

Kód: Vybrať všetko

<?php
  $dovolene = array("1.png");
if (isset($_POST["odoslany"])) {
if (is_uploaded_file($_FILES["subor"]["tmp_name"])) {
$name = $_FILES["subor"]["name"];
if(in_array(strrchr($name, '.'),$dovolene)){
$copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "imgg/$name");
} else $copy = false;
if ($copy) {
echo "<img border= '0' src='aimg/info.png'> $name úspešne nahratý <img border= '0' src='aimg/success.png'>";
} else {
echo "<img border= '0' src='aimg/info.png'> Len .png súbory! <img border= '0' src='aimg/warning.png'>";
}
}
}
?>
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: Upload presny subor

Príspevok od používateľa juho »

si pozri na php.net aku funkciu ma strrchr()
teda ked z tade vynechas strchr a in array a das tam len $name===$dovolene tak mozno by sa to aj dalo
nemo
Light Star
Light Star
Príspevky: 206
Registrovaný: 13 júl 2009, 7:09

Re: Upload presny subor

Príspevok od používateľa nemo »

nechapem ako to myslis... som si to pozrel ale nwm...
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Upload presny subor

Príspevok od používateľa BX »

Neviem či som ten kód dobre pochopil, ale za predpokladu, že v $name je názov uploadnutého súboru, tak by som možno použil jednoducho miesto

Kód: Vybrať všetko

if(in_array(strrchr($name, '.'),$dovolene)){
reg. výraz

Kód: Vybrať všetko

if(preg_match("/^1.png$/", $name)) {
(No ale ozaj neviem, či píšem dobre : D )
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Upload presny subor

Príspevok od používateľa audiotrack »

BX napísal:Neviem či som ten kód dobre pochopil, ale za predpokladu, že v $name je názov uploadnutého súboru, tak by som možno použil jednoducho miesto

Kód: Vybrať všetko

if(in_array(strrchr($name, '.'),$dovolene)){
reg. výraz

Kód: Vybrať všetko

if(preg_match("/^1.png$/", $name)) {
(No ale ozaj neviem, či píšem dobre : D )
nerád ti to hovorím, ale zase ťa musím raz opraviť. Bodku treba backslashnúť, inak sa bude v tom regulárnom brať ako ľubovolný znak
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Upload presny subor

Príspevok od používateľa BX »

Pravda... hups :oops:
nemo
Light Star
Light Star
Príspevky: 206
Registrovaný: 13 júl 2009, 7:09

Re: Upload presny subor

Príspevok od používateľa nemo »

co je to?backslashnúť
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Upload presny subor

Príspevok od používateľa audiotrack »

dať pred tú bodku spätné lomítko, takže to bude
if(preg_match("/^1\.png$/", $name)) {
nemo
Light Star
Light Star
Príspevky: 206
Registrovaný: 13 júl 2009, 7:09

Re: Upload presny subor

Príspevok od používateľa nemo »

a ked chcem aj 1.png aj 2.png ako na to?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Upload presny subor

Príspevok od používateľa audiotrack »

skús niečo ako
if(preg_match("/^[1|2]\.png$/", $name)) {
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Re: Upload presny subor

Príspevok od používateľa Mmartin »

a ak chces hocijake_cislo.png, tak takto:
if(preg_match("/^[0-9]*\.png$/", $name)) {
Napísať odpoveď