Autor Zpráva
Rob Roy
Profil *
Zdravim,

vytvoril jsem si skript, ktery jsem chtel uploudovat jen urcite soubory....doc,xls,pdf apod.

Pokud vsak zkusim nahrat soubor doc&xls, tak se mi ukaze chyba - Formát dokumentu je špatný: application/msword


	switch ($type) {

case 'doc': $filename = "../img/urad_deska/$story.doc";
move_uploaded_file($HTTP_POST_FILES['zdroj'] ['tmp_name'], $filename);
$sql = "update dokumenty set nadhled = '$filename' where id = $story";
$result = mysql_query($sql, $conn);
break;
case 'pdf': $filename = "../img/urad_deska/$story.pdf";
move_uploaded_file($HTTP_POST_FILES['zdroj'] ['tmp_name'], $filename);
$sql = "update dokumenty set nadhled = '$filename' where id = $story";
$result = mysql_query($sql, $conn);
break;
case 'rar': $filename = "../img/urad_deska/$story.rar";
move_uploaded_file($HTTP_POST_FILES['zdroj'] ['tmp_name'], $filename);
$sql = "update dokumenty set nadhled = '$filename' where id = $story";
$result = mysql_query($sql, $conn);
break;
case 'xls': $filename = "../img/urad_deska/$story.xls";
move_uploaded_file($HTTP_POST_FILES['zdroj'] ['tmp_name'], $filename);
$sql = "update dokumenty set nadhled = '$filename' where id = $story";
$result = mysql_query($sql, $conn);
break;
case 'jpg': $filename = "../img/urad_deska/$story.jpg";
move_uploaded_file($HTTP_POST_FILES['zdroj'] ['tmp_name'], $filename);
$sql = "update dokumenty set nadhled = '$filename' where id = $story";
$result = mysql_query($sql, $conn);
break;
case 'wmv': $filename = "../img/urad_deska/$story.wmv";
move_uploaded_file($HTTP_POST_FILES['zdroj'] ['tmp_name'], $filename);
$sql = "update dokumenty set nadhled = '$filename' where id = $story";
$result = mysql_query($sql, $conn);
break;
default: print 'Formát dokumentu je špatný: '.$HTTP_POST_FILES['zdroj'] ['type'];
}


Jak mam napsat priponu doc tak, aby to proslo?

Predem dekuji za pomoc...
sicario
Profil
Skript obsahuje spoustu nadbytecnych radku....
Omezeni uploadovanych souboru jen na urcite pripony lze resit napr. tak ze vytvoris pole s uvedenymi povolenymi priponami:
$allowed = array('doc', 'xls', ...);
dale funkci pro zjisteni pripony souboru:
function getExt($f);
ktera napr. pomoci funkce strrpos zjisti posledni vyskyt tecky v retezci $f a vrati cast retezce za ni
a nasledne zjistis jestli je pripona uvedena v poli povolenych
if (!in_array(getExt($_FILES['zdroj']['name'], $allowed)) {
echo 'nepovoleny soubor';
exit;
}
Rob Roy
Profil *
sicario: ja vim, ze je to hloupy dotaz, ale vadi moc, ze je tam hodne nadbytecny radku? (ovlivni to hodne rychlost zpracovani???)
tiso
Profil
Rob Roy ...teoreticky nie, pretože ich vykonanie závisí od podmienky...
sicario
Profil
Rob Roy:

Spis sem mel na mysli zbytecne se opakujici stejny kod. V pripade ze prejmenujes tabulku v databazi, nebo adresar, do ktereho chces nahravat soubory, budes tyto informace muset opravovat nekolikrat misto jedne zmeny.

Pro prehledny kod je nutne co nejmene (spis vubec) se opakovat.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0