Autor Zpráva
Amunak
Profil
Mám tento kód - hlásí chybu na řádku 35 (parse error: parse error in...), tady je to řádek 13

  switch ($pripona) {
    case 'arj';
	case 'zip';
	case 'rar';
	case '7z';
	case 'jar';
	case 'tar';
	case 'gz';
	case 'tar.gz';
	  $ico = 'compress';
	break;
	
	case 'accdb';
	case 'sql';
	case 'ora';
	case 'wdb';
	case 'mdb';
	case 'myd';
	case 'myi';
	case 'mdf';
	case 'frm';
	case 'nsf';
	  $ico = 'database';
	break;
    
    case 'doc';
	case 'docx';
	case 'rtf';
	case 'odt';
	  $ico = 'page_white_word';
	break;
	
	case 'txt';
	case 'ini';
	  $ico = 'page_white_text';
	break;
	
	case 'lnk';
	case 'url';
	  $ico = 'url';
	break;
	
	case 'rss';
	  $ico = 'rss';
	break;
	
	case 'xls';
	case 'xlsx';
	case 'ods';
	case 'csv';
	case 'tsv';
	case 'tab';
	case 'dif';
	  $ico = 'page_white_excel';
	break;
	
	case 'htm';
	case 'html';
	case 'xhtml';
	case 'xht';
	  $ico = 'html';
	break;
	
	case 'xml';
	  $ico = 'page_white_world';
	break;
	
	case 'php';
	case 'php3';
	case 'php4';
	case 'php5';
	case 'phps';
	case 'phtml';
	  $ico = 'page_white_php';
	break;
	
	case 'css';
	case 'xsl';
	case 'xslt';
	  $ico = 'css';
	break;
	
	case 'ttf';
	case 'fon';
	case 'otf';
	case 'ttc';
	case 'ocf';
	  $ico = 'font';
	break;
	
	case 'jpg';
	case 'jpeg';
	case 'png';
	case 'gif';
	case 'tiff';
	case 'tif';
	case 'ico';
	case 'tga';
	case 'psd';
	case 'pdd';
	case 'exif';
	case 'jp2';
	case 'bmp';
	case 'pdm';
	case 'raw';
	case 'pcx';
	case 'mng';
	case 'dds';
	case 'xcf';
	  $ico = 'picture';
	break;
	
	case 'cdr';
	case 'cmx';
	case 'art';
	case 'xar';
	case 'ai';
	case 'awg';
	case 'svg';
	  $ico = 'page_white_vector';
	break;
	
	case '3ds';
	case 'max';
	case 'blend';
	case 'c4d';
	case 'ma';
	case 'mb';
	case 'obj';
	case 'off';
	case 'prc';
	case 'skp';
	case 'u3d';
	case 'wings';
	case 'x';
	  $ico = 'brick';
	break;
	
	case 'odp';
	case 'pps';
	case 'ppt';
	  $ico = 'page_white_powerpoint';
	break;
	
	case 'wav';
	case 'wma';
	case 'mp3';
		case 'mp2';
	case 'mid';
	case '';
	  $ico = 'music';
	break;
	
	case '3gp';
	case 'avi';
	case 'mp4';
	case 'mpeg4';
	case 'mpg';
	case 'mov';
	case 'divx';
	case 'xvid';
	  $ico = 'film';
	break;
	
	case 'pdf';
	  $ico = 'page_white_acrobat';
	break;
	
	case 'swf';
	case 'fla';
	case 'flv';
	  $ico = 'page_white_flash';
	break;
	
	case 'vbx';
	  $ico = 'page_white_visualstudio';
	break;
	
	case 'bat';
	case 'com';
	case 'cmd';
	  $ico = 'batch';
	break;
	
	case 'exe';
	case 'jar';
	case 'xpi';
	case 'dll';
	  $ico = 'app';
	break;
	
	case 'cur';
	case 'ani';
	  $ico = 'cursor';
	break;
	
	case 'dir';
	case 'directory';
	case 'folder';
	  $ico = 'folder';
	break;
	
	default;
	  $ico = 'page_white';
	break;
  
  }
Sicario
Profil *
Misto stredniku dej dvojtecku (case '...':).
Amunak
Profil
a vsude nebo jen na neco?
Alphard
Profil
trochu z jiného soudku, nečetl jste někdy o in_array()?
Medvídek
Profil
http://cz.php.net/control-structures.switch ;-)
Amunak
Profil
Medvídek: jo na to sem se dival a pochopil sem ze tak jak to mam by to melo jit (jsem pochoipil asi spatne)

Alphard: to co tam mám teď mi přijde jednodušší, a navíc aspoň konečně pochopím switche :)
Amunak
Profil
tak co s tim teda? ja si fakt nevim rady :)
nightfish
Profil
Amunak
tak co s tim teda? ja si fakt nevim rady :)
přečti si Sicariův příspěvek a v případě, že ti to bude málo, tak se podívej příklady na stránce, kterou posílal Medvídek
keeehi
Profil *
obecně switch vypadá takto
switch ($neco)
case 'a': {
příkaz1;
příkaz2;
}
case 'b': {
příkaz1;
příkaz2;
}
case 'c': {
příkaz1;
příkaz2;
}

oprav si tedy dvojtečky a uvozovky

P.S. in_array by bylo vhonější
keeehi
Profil *
omluvám se, ty závorky tam být nemají
Amunak
Profil
ale když mám

  case 'arj';
	case 'zip';
	case 'rar';
	case '7z';
	case 'jar';
	case 'tar';
	case 'gz';
	case 'tar.gz';
	  $ico = 'compress';
	break;


tak jak to udělat tak, aby to fungovalo jako

if ($pripona == 'zip' || $pripona == 'rar' || $pripona == '7z' || $pripona == '...') {$ico = 'compress';}



//Nechci to mit v poli, proto nechci in-array ale kdyz to nepude jinak jednodusse, tak to budu muset predelat :/
BetaCam
Profil
Sicario
Misto stredniku dej dvojtecku (case '...':).

To není nutné středník místo dvojtečky je povolená syntaxe.

Amunak

tak jak to udělat tak, aby to fungovalo jako
if ($pripona == 'zip' || $pripona == 'rar' || $pripona == '7z' || $pripona == '...') {$ico = 'compress';}


Ono to tak funguje. Sice nevim proč to chceš řešit tímto způsobem, ale budiž.

Jinak ten switch je v pořádku. I s nastavením error_reporting(E_ALL|E_STRICT); nehlásí script nic. takže chybu máš někde jinde než v tomhle switchy.
Amunak
Profil
BetaCam: díky, skusím pohledat... člověk se někdy moc spolíhá na to, že PHP ví řádek a chybu :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0