Prodej projektu Duchod.cz - cena 550 tis Kč. Dále MojeFinance.cz, DuchodovaReforma.cz
Zobrazují se odpovědi 1 až 3 z 3

Potřebuji odstranit kompresi.

  1. Ahoj lidi, potřeboval bych odstranit kompresi....., ale nikde to nemohu najít. Obrázky po uploadování mají namísto 250 kb 50 kb. já potřebuji, aby tam nebyla komprese vůbec po nahrátí....to ty fotky udělá dost ošklivé...

    Našel jsem toto, toto je html galerie její administrace, tady se nahrávají fotky seznam-fotek.latte:

    Kód:
    <form id="aktualizaceFotek" action="?" method="post">
    <table class="table table-hover" style="margin-top:10px;">
    	<thead><tr><th>Náhled</th><th>Titulek / viditelný</th><th>Priorita</th><th>Smazat</th></tr></thead>
    	<tbody>
    	{foreach $data['seznamFotek'] as $item}
    		<tr>
    			<td><img src="{$item->img['m']}" alt="{$item->title}" style="max-width:100px;"></td>
    			<td>
    				<input type="text" class="form-control" name="data[{$item->id}][title]" value="{$item->title}" placeholder="Titulek fotky"><br>
    				<label><input type="checkbox" name="data[{$item->id}][visible]"{if $item->visible!=0} checked{/if}> Viditelný</label>
    			</td>
    			<td>
    				<input type="number" class="form-control" name="data[{$item->id}][priority]" value="{$item->priority}" placeholder="Priorita fotky"><br>{*<!--}
    				<label><input type="checkbox" name="data[{$item->id}][visible]"{if $item->visible!=0} checked{/if}> Viditelný</label>-->*}
    			</td>
    			<td><input type="checkbox" name="data[{$item->id}][smazat]"></td>
    		</tr>
    	{/foreach}
    	</tbody>
    </table>
    <input type="submit" class="btn btn-primary" value="Uložit" style="margin-top:10px;">
    <input type="hidden" name="aktualizaceFotek" value="1">
    </form>
    <script>
    	$('#aktualizaceFotek').submit(function(event) {
    		$.post('?seznamFotek=1', $('#aktualizaceFotek').serialize(), function(data) {
    			$('#fotky-list').html(data);
    		}, 'text');
    		return false;
    	});
    </script>
    Pak tady je v set.php nastavení velikosti obrázků, ale ne velikosti souboru...i když možná, že to v tom půjde jen to nevím..tak třeba někdo z vás bude vědět ..

    Kód:
    $gallery=new jfImage(WWW_ROOT.'fotky', ROOT.'/fotky', $originalDir='', $delimiter=1000);
    //$gallery->AddVarious(array('prefix'=>'f', 'width'=>1000, 'height'=>1000, 'format'=>'jpg', 'defaultUrl'=>ROOT.'/fotky/m.png', 'bgcolor'=>'#ffffff', 'resizeType'=>0));
    
    $gallery->AddVarious(array('prefix'=>'e', 'width'=>1200, 'height'=>605, 'format'=>'jpg', 'defaultUrl'=>ROOT.'/fotky/810x600.png', 'bgcolor'=>'#ffffff', 'resizeType'=>2));
    $gallery->AddVarious(array('prefix'=>'f', 'width'=>800, 'height'=>405, 'format'=>'jpg', 'defaultUrl'=>ROOT.'/fotky/810x600.png', 'bgcolor'=>'#ffffff', 'resizeType'=>2));
    $gallery->AddVarious(array('prefix'=>'m', 'width'=>240, 'height'=>240, 'format'=>'jpg', 'defaultUrl'=>ROOT.'/fotky/240x240.png', 'bgcolor'=>'#ffffff', 'resizeType'=>2));
    
    $gallery->AddVarious(array('prefix'=>'a', 'width'=>750, 'height'=>750, 'format'=>'jpg', 'defaultUrl'=>ROOT.'/fotky/750x750.png', 'bgcolor'=>'#ffffff', 'resizeType'=>2));
    $gallery->AddVarious(array('prefix'=>'b', 'width'=>450, 'height'=>434, 'format'=>'jpg', 'defaultUrl'=>ROOT.'/fotky/450x434.png', 'bgcolor'=>'#ffffff', 'resizeType'=>2));
    $gallery->AddVarious(array('prefix'=>'c', 'width'=>350, 'height'=>350, 'format'=>'jpg', 'defaultUrl'=>ROOT.'/fotky/350x350.png', 'bgcolor'=>'#ffffff', 'resizeType'=>2));
    $gallery->AddVarious(array('prefix'=>'d', 'width'=>750, 'height'=>634, 'format'=>'jpg', 'defaultUrl'=>ROOT.'/fotky/750x634.png', 'bgcolor'=>'#ffffff', 'resizeType'=>2));
    Potom je tady Inicializace v php...tady jedině jsem našel ty jména co jsou v té administraci....tohle je jenom kousek kodu a je tam podstatná ta část , která řeší seznam fotek a aktualizace fotek...

    Kód:
    	elseif(count($path)==5){
    			$res2=$tabulka->Get($path[4]);	// ještě musim doladit, aby stránka byla ve správné kategorii - tady je jen jedna
    			if($path[4]>0&&isset($res['data'][0])&&isset($res2['data'][0])){
    				if(isset($_GET['pridatFotku'])) {
    					$fs=getimagesize($_FILES['file']['tmp_name']);
    					if(is_array($fs)&&$fs[2]>0&&$fs[2]<4){
    						$arr=array('article'=>$path[4], 'title'=>$_FILES['file']['name'], 'visible'=>0, 'priority'=>0,);
    						$res=$fotky->add($arr);
    						if($res>0){
    							$a=$gallery->Save($res, $_FILES['file']['tmp_name'], $watermark_replace='');
    							print_r($fs);
    							print_r($a);
    						}
    					}
    					else header('HTTP/1.0 404 Not Found');
    					jfApp::Close();
    				}
    				else if(isset($_GET['seznamFotek'])){
    					if(isset($_POST['aktualizaceFotek'])){
    						foreach($_POST['data'] as $k=>$v) {
    							if(isset($v['smazat'])) {
    								$fotky->Delete($k);
    								$gallery->Remove($k);
    							}
    							if(isset($v['visible'])) $v['visible']=1;
    							else $v['visible']=0;
    							$fotky->Edit($k, $v);
    						}
    						//print_r($_POST);
    						//die();
    					}
    					$res=$fotky->GetAll('*', 'article='.(int)$path[4], '`priority` DESC');
    					foreach($res['data'] as $k=>$v){
    						$res['data'][$k]->img=$gallery->Get($v->id);
    					}
    					$tplData['seznamFotek']=$res['data'];
    					$template='admin/seznam-fotek.latte';
    					//jfApp::Close();

    A pak soubor, který vůbec nevím jestli s tim má něco společného, ale jmenuje se pg-soubory zde: Když jsem upravil těch 70 u imagejpg...tak to nic po nahrátí nezměnilo...


    Kód:
    <?php
    
    
    //	správce souborů
    
    $wwwRoot='/data';
    $sysRoot=WWW_ROOT.'data';
    $cookieName='soubory';
    $nahledy='_thumbs';
    $rozmery=array('w'=>200, 'h'=>200);	//	rozměry náhledů
    $velikosti=array('B', 'kB', 'MB', 'GB', 'TB');	//	štítky k velikostem souborů
    
    header("Content-Type: text/html; charset=utf-8");
    if(!isset($_SERVER['jf_soubory_script'])) $_SERVER['jf_soubory_script']='/'.$path[1].'/'.$path[2];//'soubory.php';
    if(!isset($_GET['type'])) $_GET['type']='';
    $_SERVER['jf_f_msg_ok']='';
    $_SERVER['jf_f_msg_err']='';
    
    
    if(!isset($_COOKIE[$cookieName])) $_COOKIE[$cookieName]='';
    
    //	nastavení aktuálního adresáře
    if(isset($_GET['goto'])&&$_GET['goto']!=$nahledy) {
    	$_GET['goto']=str_replace("/", '_', str_replace("\\", '_', $_GET['goto']));
    	if(!preg_match("/^\\./i", $_GET['goto'])) $_COOKIE[$cookieName].='/'.$_GET['goto'];
    }
    elseif(isset($_GET['jump'])&&$_GET['jump']>0) {
    	$arr=explode('/', $_COOKIE[$cookieName]);
    	for($i=1; $i<$_GET['jump']; $i++) unset($arr[count($arr)-1]);
    	$_COOKIE[$cookieName]=implode($arr, '/');
    }
    
    
    //	kontrola existence adresáře
    if(!is_dir($sysRoot)) { @mkdir($sysRoot); @chmod($sysRoot, 0777); }
    if(!is_dir($sysRoot.$_COOKIE[$cookieName])) {
    	$found=0;
    	while($found==0&&$_COOKIE[$cookieName]!='') {
    		$parts=explode('/', $_COOKIE[$cookieName]);
    		unset($parts[count($parts)-1]);
    		$_COOKIE[$cookieName]=implode($parts, '/');
    		if(is_dir($sysRoot.$_COOKIE[$cookieName])) $found=1;
    	}
    }
    
    
    //	uložení nastavní adresáře
    SetCookie ($cookieName, $_COOKIE[$cookieName], 0, '');
    
    
    
    //	definice cesty k adresáři, se kterým se aktuálně pracuje
    $cesta=$sysRoot.$_COOKIE[$cookieName].'/';
    
    
    
    //	upload souborů
    if(isset($_GET['upload'])&&is_array($_FILES['file'])) {
    	$_FILES['file']['name']=jfApp::Url($_FILES['file']['name']);
    	$a1=explode('.', $_FILES['file']['name']);
    	$a2=explode(',', 'png,jpg,gif,zip,rar,txt,htm,thml,pdf,doc,docx,xls,xlsx,ppt,pptx,pps,ppsx,mp3,mp4,flv,webm');
    	if($_FILES['file']['error']!=0||$_FILES['file']['size']<1||!in_array($a1[count($a1)-1], $a2)) header('HTTP/1.1 400 Bad Request');
    	else {
    		$list=scandir($cesta);
    		if(in_array($_FILES['file']['name'], $list)) {
    			$str=explode('.', $_FILES['file']['name']);
    			$pos=count($str)-1;
    			$pripona=('.'.$str[$pos]);
    			unset($str[$pos]);
    			$str=implode($str, '.').'-';
    			$pos=2;
    			while(in_array($str.$pos.$pripona, $list)) $pos++;
    			$_FILES['file']['name']=$str.$pos.$pripona;
    		}
    		$f=@fopen($_FILES['file']['tmp_name'], 'r');
    		$d=@fread($f, $_FILES['file']['size']+100);
    		@fclose($f);
    		//print_r($cesta.$_FILES['file']['name']);die();
    		$f=@fopen($cesta.$_FILES['file']['name'], 'w');
    		@fwrite($f, $d);
    		@fclose($f);
    		//header('HTTP/1.1 200 OK');
    	}
    	die;
    }
    
    
    //	případné vytvoření nové složky
    if(isset($_POST['mkdir'])) {
    	$n=jfApp::Url($_POST['mkdir']);
    	if($n==''||$n==$nahledy||preg_match("/^\\./i", $n)) $_SERVER['jf_f_msg_err']='Složku „<strong>'.htmlspecialchars($n).'</strong>“ <em>nelze</em> vytvořit.';
    	elseif(!@mkdir($cesta.$n)) $_SERVER['jf_f_msg_err']='Složku „<strong>'.htmlspecialchars($n).'</strong>“ se nepodařilo vytvořit.';
    	else {
    		$_SERVER['jf_f_msg_ok']='Složka „<strong>'.htmlspecialchars($n).'</strong>“ byla vytvořena.';
    		@chmod($cesta.$n, 0777);
    		$_POST['mkdir']='';
    	}
    }
    else $_POST['mkdir']='';
    
    //	průchod mezi složkami
    $pruchodStr='';
    $pruchod=explode('/', $_COOKIE[$cookieName]);
    for($i=0; $i<count($pruchod); $i++) {
    	$pos=count($pruchod)-$i;
    	$posledni='';
    	if($i==count($pruchod)-1) $posledni=' posledni';
    	$pruchodStr.='<span class="jf-file-pruchod'.$posledni.'" data-pos="'.$pos.'">';
    	if($i==0) $pruchodStr.='<i class="glyphicon glyphicon-triangle-right"></i>';
    	else $pruchodStr.=htmlspecialchars($pruchod[$i]);
    	$pruchodStr.="</span>\r\n";
    }
    
    
    //	načtení obsahu aktuálního adresáře
    $dir=scandir($cesta);
    $slozky=array();
    $soubory=array();
    foreach($dir as $i) {
    	if(is_dir($cesta.$i)) {
    		if($i=='.'||$i=='..'||$i==$nahledy) continue;
    		$slozky[]=$i;
    	}
    	else {
    		if($i=='.htaccess') continue;
    		$soubory[]=$i;
    	}
    }
    
    
    if($_SERVER['jf_f_msg_ok']!='')	echo '<div class="alert alert-success" role="alert">'.$_SERVER['jf_f_msg_ok'].'</div>';
    if($_SERVER['jf_f_msg_err']!='') echo '<div class="alert alert-danger" role="alert">'.$_SERVER['jf_f_msg_err'].'</div>';
    
    ?>
    
    <div class="f-files-top">
    <?php	echo $pruchodStr;	?>
    </div>
    <div class="f-files-bottom">
    <div id="tabs_f">
      <ul>
        <li><a href="#tabs_f-1">Výběr souboru</a></li>
        <li><a href="#tabs_f-2">Nahrát nové soubory</a></li>
        <li><a href="#tabs_f-3">Vytvořit novou složku</a></li>
      </ul>
      <div id="tabs_f-1">
        <?php
    		foreach($slozky as $i) {
    			echo '	<div class="jf-file-obal jf-dir" data-str="'.htmlspecialchars($i).'" title="'.htmlspecialchars($i).'"><div class="nahled"></div><div class="popis">'.htmlspecialchars($i)."</div></div>\r\n";
    		}
    		$i2=''; $i3=''; $i3pos=0; $i4=''; $i5=''; $i5b=''; $i6='';
    		if(!is_dir($cesta.$nahledy)) {
    			@mkdir($cesta.$nahledy);
    			@chmod($cesta.$nahledy, 0777);
    		}
    		foreach($soubory as $i) {
    			$i2=explode('.', $i);
    			$i2='e_'.htmlspecialchars(strtolower($i2[count($i2)-1]));
    			$i3pos=0;
    			$i3=filesize($cesta.$i);
    			while($i3>999) { $i3/=1024; $i3pos++; }
    			$i3=round($i3, 3).' '.$velikosti[$i3pos];
    			$i4=filemtime($cesta.$i);
    			$i5=@getimagesize($cesta.$i);
    			if(is_array($i5)&&$i5[2]>0&&$i5[2]<4) {	//	zajištění náhledu + případné vytvoření
    				$i5b=$cesta.$nahledy.'/'.$i;
    				if(file_exists($i5b)&&filemtime($i5b)>$i4) {}
    				else {
    					$img='';
    					switch($i5[2]) {
    						case 1: $img = imagecreatefromgif($cesta.$i); break;
    						case 2: $img = imagecreatefromjpeg($cesta.$i); break;
    						case 3: $img = imagecreatefrompng($cesta.$i); break;
    					}
    					$w=$i5[0];	$h=$i5[1];
    					if($w>$rozmery['w']) {	$tmp=$w/$rozmery['w'];	$w=$rozmery['w'];	$h=round($h/$tmp);	}
    					if($h>$rozmery['h']) {	$tmp=$h/$rozmery['h'];	$h=$rozmery['h'];	$w=round($w/$tmp);	}
    					if($w<1) $w=1;	if($h<1) $h=1;
    					$img2=@imagecreatetruecolor($rozmery['w'], $rozmery['h']);
    					$bila=@imagecolorallocate($img2, 255, 255, 255);
    					@imagefill($img2, 1, 1, $bila);
    					@imagecopyresampled($img2, $img, round(($rozmery['w']-$w)/2), round(($rozmery['h']-$h)/2), 0, 0, $w, $h, $i5[0], $i5[1]);
    					switch($i5[2]) {
    						case 3:	imagepng($img2, $i5b, 9);	@chmod($i5b, 0666); break;
    						case 1:	imagegif($img2, $i5b);	@chmod($i5b, 0666); break;
    						default:	imagejpeg($img2, $i5b, 70);	@chmod($i5b, 0666);
    					}
    					imagedestroy($img);
    					imagedestroy($img2);
    				}
    				$i6="background-image: url('".$wwwRoot.htmlspecialchars($_COOKIE[$cookieName]).'/'.$nahledy.'/'.htmlspecialchars($i)."');";
    				$i6=' style="'.$i6.'"';
    				$i7='
    Rozměry: '.$i5[0].'×'.$i5[1];
    			}
    			else { $i6=''; $i7=''; }
    			$title=htmlspecialchars($i).'
    Nahráno: '.date('j.n.Y H:i:s', $i4).'
    Velikost: '.$i3.$i7;
    			$out='	<div class="jf-file-obal '.$i2.'" data-str="'.$wwwRoot.htmlspecialchars($_COOKIE[$cookieName]).'/'.htmlspecialchars($i).'" title="'.$title.'"><div class="nahled"'.$i6.'></div><div class="popis">'.htmlspecialchars($i)."</div></div>\r\n";
    			if($_GET['type']=='image') {
    				if (in_array($i2, array('e_jpg', 'e_png', 'e_gif'))) echo $out;
    			}
    			else echo $out;
    		}
    	?>
    	<div class="jf-file-clear"></div>
      </div>
      <div id="tabs_f-2">
    	<div id="jf-dz" class="dropzone"></div>
        <!--<form action="" class="dropzone"></form>-->
      </div>
      <div id="tabs_f-3">
    	<p>Název nové složky<br><input type="text" name="mkdir" value="<?php	echo(htmlspecialchars($_POST['mkdir']));	?>" class="jf-mk"></p>
    	<p><input type="submit" value="Vytvořit" class="jf-mk-btn"></p>
      </div>
    </div>
    </div>
    <script>
    	$('#jf-dz').dropzone({ url: '<?php	echo $_SERVER['jf_soubory_script'];	?>?upload=1', uploadMultiple: false, dictDefaultMessage: 'Vyberte fotky z počítače nebo je sem přetáhněte.' });
    	$('#tabs_f').tabs();
    	$('.jf-file-obal').click(function() {
    		if($(this).hasClass('jf-dir')) {
    			$('#f-img-shadow .data').load('<?php	echo $_SERVER['jf_soubory_script'].'?type='.urlencode($_GET['type']);	?>&goto='+$(this).attr('data-str'), function() {
    			//	alert( "Load was performed." );
    			});
    		}
    		else {
    			var sout=$('#f-img-shadow').attr('data-element');
    			<?php
    				switch ($_GET['type']){
    					case 'image':
    						echo"
    							if($(this).hasClass('e_jpg')||$(this).hasClass('e_png')||$(this).hasClass('e_gif')){
    								$(sout).val($(this).attr('data-str'));
    								$('#f-img-shadow .ui-widget-header .btn-danger').click();
    							}
    							else alert('Vyberte soubor s obrázkem.');";
    						break;
    					case 'audio':
    						echo"
    							if($(this).hasClass('e_mp3')){
    								$(sout).val($(this).attr('data-str'));
    								$('#f-img-shadow .ui-widget-header .btn-danger').click();
    							}
    							else alert('Vyberte soubor s adiem.');";
    						break;
    					case 'video':
    						echo"
    							if($(this).hasClass('e_mp4')||$(this).hasClass('e_flv')||$(this).hasClass('e_webm')){
    								$(sout).val($(this).attr('data-str'));
    								$('#f-img-shadow .ui-widget-header .btn-danger').click();
    							}
    							else alert('Vyberte soubor s videem.');";
    						break;
    /*
    					case 'img':
    						echo"";
    						break;
    */
    					default:
    						echo"
    							$(sout).val($(this).attr('data-str'));
    							$('#f-img-shadow .ui-widget-header .btn-danger').click();";
    				}
    			?>
    		}
    	});
    	$('.jf-mk-btn').click(function() {
    		$('.jf-mk-btn').attr('disabled', true);
    		$('#f-img-shadow .data').load('<?php	echo $_SERVER['jf_soubory_script'].'?type='.urlencode($_GET['type']);	?>', { mkdir: $('#f-img-shadow .jf-mk').val() }, function() {
    		//	alert( "The last 25 entries in the feed have been loaded" );
    		});
    	});
    	$('.jf-file-pruchod').click(function() {
    		$('#f-img-shadow .data').load('<?php	echo $_SERVER['jf_soubory_script'].'?type='.urlencode($_GET['type']);	?>&jump='+$(this).attr('data-pos'), function() {
    		});
    	});
    </script>
    <?php
    	jfApp::Close();
    ?>

    Takže věděl by někdo prosím jak zrušit kompresi obrázk ů úplně ? Nic jiného jsem nenašel jenom tohle ..ještě tam jsou pak dva různý soubory ve složce ajax...



    Je to tenhle web a tady jsou vidět ty obrázky v galerii...:


    tvorba webu 2 | TvorbaWebuPraha.cz

    ---------- Příspěvek doplněn 10.03.2019 v 11:31 ----------

    Tady jsem ještě našel výstup

    Kód:
    <div class="col-12 col-lg-6">
    				{if $data['vystup']['data']['fotky']['found']!=0}
    					<div class="product-slider">
    						{foreach $data['vystup']['data']['fotky']['data'] as $i}
    							<div class="slide" data-src="{$i['img']['e']}">
    								<img src="{$i['img']['f']}" class="img-fluid" alt="big image">
    								{if $data['vystup']['data']['je_tip']==1}<div class="tip"><img src="/public/images/tip.png" alt="Nas tip"></div>{/if}
    							</div>
    						{/foreach}
    					</div>
    					<div class="slick-thumbs">
    						<ul>
    						{foreach $data['vystup']['data']['fotky']['data'] as $i}
    							<li><img src="{$i['img']['f']}"></li>
    						{/foreach}
    						</ul>
    					</div>
    				{/if}
    			</div>


    ---------- Příspěvek doplněn 10.03.2019 v 11:56 ----------

    Tak, už jsem asi pokročil... zadal jsem do set.php do originalDir a tam se mi ukládají v té složce fotky/data/0/a číslo obrázku, originály.....

    Kód:
    $gallery=new jfImage(WWW_ROOT.'fotky', ROOT.'/fotky', $originalDir='/data', $delimiter=1000);
    Takže teď jediné co bych potřeboval by bylo upravit tuhle adresu něvíte někdo prosím jak ? upravit tu cestu , aby byla v tomhle formátu ? fotky/data/0/320.jpg + ještě tam bývá..koncovka get.... jinak teď je to tato adresa : /fotky/f/0/332.jpg?t=5c84e9ce

    Kód:
    		<div class="col-12 col-lg-6">
    				{if $data['vystup']['data']['fotky']['found']!=0}
    					<div class="product-slider">
    						{foreach $data['vystup']['data']['fotky']['data'] as $i}
    							<div class="slide" data-src="{$i['img']['e']}">
    								<img src="{$i['img']['f']}" class="img-fluid" alt="big image">
    								{if $data['vystup']['data']['je_tip']==1}<div class="tip"><img src="/public/images/tip.png" alt="Nas tip"></div>{/if}
    							</div>
    						{/foreach}
    					</div>
    					<div class="slick-thumbs">
    						<ul>
    						{foreach $data['vystup']['data']['fotky']['data'] as $i}
    							<li><img src="{$i['img']['f']}"></li>
    						{/foreach}
    						</ul>
    					</div>
    				{/if}
    			</div>

  2. Co se právě děje na Webtrhu?
  3. ten kód je horor, chápu, že asi není tvůj, ale člověk, který tohle napsal, zaslouží jít přímou cestou do pekla, krom toho kód dostatečně neošetřuje vstupy a aplikace je nejspíš napadnutelná.

    Nic jak vypnout kompresi nejde, v kódu se vytváří několik náhledů, které jsou menší, viz část s imagecreatefromjpeg, původní obrázek ale zůstává na disku , viz i5b=$cesta.$nahledy.'/'.$i;, možná stačí jen změnit cestu odkud se ty obrázky načítají, aby se nenačítal náhled, ale původní verze.

  4. imagepng($img2, $i5b, 9);
    imagejpeg($img2, $i5b, 70);

    imagejpeg, třetí argument je kvalita, čím vyšší tím lepší
    imagepng, třetí argument je komprese, čím nizší tím tím větší komprese

    imagepng($img2, $i5b, 1);
    imagejpeg($img2, $i5b, 95);
    By mělo pomoct

Hostujeme u Server powered by TELE3