ugrás a tartalomhoz

Akadó weboldal

drext0r · 2013. Feb. 3. (V), 19.09
Készítettem egy oldalt amit holnap szeretnék elindítani már csak pár dolgot kell rajta megcsinálnom azt mehet viszont zavar egy dolog, hogy amikor betöltöm a galéria menüt és letölti a képeket ezen az oldalon mintha lefagyna vagy beakadna vagy nem tudom szóval az lenne a kérdésem, hogy ez másnál is így van vagy csak nálam és ha igen akkor ez mitől lehet ?

weboldal: ingekko.com
 
1

Azt nézted már, hogy szerver

eddig bírtam szó nélkül · 2013. Feb. 3. (V), 19.29
Azt nézted már, hogy szerver oldalon akad meg vagy a böngészőben?
Mert így első olvasatra én két dolgot néznék meg:
1. Szerver oldalon nem fogy-e el alatta valami (pl. memória, megnyitható fájlok stb)
2. Javascript nélkül működik-e valamennyire?
2

működik javascript nélkül

drext0r · 2013. Feb. 3. (V), 19.54
működik javascript nélkül csak nagyon lassú de akkor lehet a memoria a gond kibővítem azt akkor megnézem, hogy úgy jobb e. Amugy 512mb ram van.
3

Képméret

gabesz666 · 2013. Feb. 3. (V), 19.55
Én a helyedben azért azt átgondolnám, hogy a képeket teljes méretben szolgálod ki a listázásnál, mindössze html-ből állítod át a méretét. Helyette kéne csinálni egy kisebb méretet a képekből feltöltéskor, mert ez így baromira megfogja zabálni a zerőforrást.
4

köszi akkor megnézem hogy úgy

drext0r · 2013. Feb. 3. (V), 20.53
köszi akkor megnézem hogy úgy mit produkál :D
5

7 megabyte a galériád

Joó Ádám · 2013. Feb. 3. (V), 20.57
7 megabyte a galériád listaoldala, mit vársz? A bélyegképek akkorák legyenek, amekkorában megjeleníted őket, és akkor megszűnik a lassulás.
6

Akkor, hogy tudnám ezt

drext0r · 2013. Feb. 4. (H), 02.35
Akkor, hogy tudnám ezt megoldani php-ben, hogy amikor már feltölti a felhasználó a képet lekicsinyítse s elmentse ?
7

Használd a GD könyvtárat.

Joó Ádám · 2013. Feb. 4. (H), 02.43
Használd a GD könyvtárat.
8

inkabb imagemagick

Greg · 2013. Feb. 4. (H), 08.06
http://php.net/manual/en/book.imagick.php kevesebb eroforrassal sokkal tobbre kepes.
9

Feltéve, hogy

Pepita · 2013. Feb. 4. (H), 14.40
van telepítve. GD gyakoribb (nem tudom biztosan, de talán alap?).
10

ha nincs

Greg · 2013. Feb. 4. (H), 14.56
akkor kerni kell hogy telepitsek :). A hoszting is jobba jar, ha nem a memoriagyilkos GD-t hasznalod, hanem az imagick-et. Legalabbis szerintem.
11

Igaz

Pepita · 2013. Feb. 4. (H), 15.01
Igazad van, bár memóriát egyszerűbb korlátozni, mint telepítgetni... De legyünk optimisták: feltelepítik.
12

egyebkent

Greg · 2013. Feb. 4. (H), 15.20
jogos amit irsz. nekem volt olyan amikor gyozkodni kellett a szolgaltatot hogy telepitse, pedig en tenyleg ugy latom, hogy csokken a szerverterheles az imagick-el.
13

ha nem akarsz vesződni az átméretezéssel

gyoridavid · 2013. Feb. 4. (H), 15.38
javaslom a timthumb php snippetet (http://code.google.com/p/timthumb/), paraméterezed, megadod neki a kép elérését, és ő kicsinyíti neked.
14

nincs valami egyszerű

drext0r · 2013. Feb. 4. (H), 16.49
nincs valami egyszerű függvény ami a képet egyszerűen csak a megadott méretekkel lekicsinyíti ?
15

Photoshop

Hidvégi Gábor · 2013. Feb. 4. (H), 16.58
Én Photoshophoz ezt készítettem a fényképeim kicsinyítéséhez:
kicsinyites.jsx

#target photoshop
app.bringToFront();

var jpegOptions = new JPEGSaveOptions(), fileRef, dokumentum, i, szelesseg, magassag;
jpegOptions.quality = 10;

for (var i = 1163; i < 1201; i++) {
  fileRef = new File('file://f:/Képek/IMG_' + i + '.jpg');
  dokumentum = open(fileRef);
  fileRef = null;
  if (parseInt(dokumentum.width, 10) == 4272) {
    szelesseg = 1024;
    magassag = 683;
  }
  else {
    szelesseg = 683;
    magassag = 1024;
  }
  dokumentum.resizeImage(szelesseg, magassag);

  dokumentum.saveAs(new File('file://f:/Képek/IMG_' + i + '_1024.jpg'), jpegOptions);
  dokumentum.close();
}

Persze ezen mindenkinek finomítania kell a saját ízlése szerint.
17

Linkeltem neked feljebb, mi a

Joó Ádám · 2013. Feb. 4. (H), 17.19
Linkeltem neked feljebb, mi a baj vele?
18

imagick

Greg · 2013. Feb. 4. (H), 17.40
16

nekem ide kéne berakni

drext0r · 2013. Feb. 4. (H), 17.10
nekem ide kéne berakni valamit ami összekicsinyíti a képet azt már tudom is menteni csak ezzel még soha nem foglalkoztam...

if($_FILES["kep1"]["name"]!="") {
		$avatar_pathinfo = pathinfo($_FILES["kep1"]["name"]);
		$avatar_extension = $avatar_pathinfo["extension"];
		$avatar_filesize = $_FILES["kep1"]["size"];
		$avatar_tmp_name = $_FILES["kep1"]["tmp_name"];
		$avatar_dimensions = getimagesize($avatar_tmp_name);
		$avatar_mime_type = $avatar_dimensions["mime"];
		$allowed_extensions = array("image/jpeg" => "jpg", "image/gif" => "gif", "image/png" => "png");
		if(is_uploaded_file($avatar_tmp_name)) {
			if($avatar_filesize>10000000) {
				echo "<script type='text/javascript'>
				alert('A fájlméret nem lehet több, mint 10 Mbyte!');
				</script>";
				
			} elseif(!in_array($avatar_extension,$allowed_extensions) || !isset($allowed_extensions[$avatar_mime_type])){
				echo "<script type='text/javascript'>
				alert('Nem engedélyezett formátum!');
				</script>";
				
			}  else {
			
			
			
				// átnevezi a tmp fájlt egy véletlenszerűen generált fájlnévre
				$avatar_local_tmp_name = date("ymdHis").mt_rand(1,100).".".$allowed_extensions[$avatar_mime_type];
				
			
				// az átnevezett tmp fájlt áthelyezi a saját tmp könyvtárunkba
				move_uploaded_file($avatar_tmp_name,"tmp/".$avatar_local_tmp_name);
				
				// saját tmp könyvtárból átmásolja az upload könyvtárba
				copy("tmp/".$avatar_local_tmp_name,"upload/".$avatar_local_tmp_name);
				// törli a saját tmp fájlt
				unlink("tmp/".$avatar_local_tmp_name);
				
				if(isset($_POST['publik_kep1']))
			{
			$publikus = "igen";
			}
			else
			{
			$publikus = "nem";
			}
			
			
			if(isset($_POST['felnott_kep1']))
			{
			$felnott = "igen";
			}
			else
			{
			$felnott = "nem";
			}
			
			if(isset($_SESSION['username']))
			{
			$feltolto = $_SESSION['username'];
			}
			else
			{
			$feltolto = "Anonymous";
			}
			
			$parancs = "INSERT INTO img (filename,size,publikus,felnott,date,ip,feltolto,album) VALUE('".$avatar_local_tmp_name."', '".$avatar_filesize."', '".$publikus."', '".$felnott."', NOW(), '".$ip."', '".$feltolto."', '".$album."')";
			
			mysqli_query($kapcsolat, $parancs);
19

Hajjaj

Pepita · 2013. Feb. 4. (H), 19.31
Nem ellenőriztem végig mindent a kódodban, de pár dolog nekem szúrja a szemem. Ha nem tetszik a véleményem, légyszíves tekintsd semmisnek!

- Nem MVC a progi - nincsenek kellőképpen elkülönítve a rétegek -> ez okozhat sokféle problémát-káoszt-biztonsági rést, ha nem most, hát később. Javaslat: használj valamilyen (MVC) keretrendszert!
- A $avatar kezdetű sorokban hol látok "_"-t, hol nem, de ez lehet, hogy csak a kódszínező tréfája, nem a tiéd.
- Az ilyen sortól, hogy echo "<script type='text/javascript'>alert('Nem engedélyezett formátum!');</script>"; én eléggé hanyattesek, miért kell ide js alert, miért nem az oldal vmelyik részére írod az üzit? Illetve innen még továbbfut a progid, végigvizsgálja a többi feltételt, stb.-t is, nem áll meg. És nem látom előtte sem, hogy ment-e már ki vmi HTML, hova kerül ez a js az oldalon?
- $avatar_local_tmp_name = date("ymdHis").mt_rand(1,100)... ezzel még simán felülírod egy korábbi fájlodat. De pl. microtime() használatával sokkal kisebb (kb. 0) az esély a felülírásra.
- Egyéni véleményem: ha lehet, én szeretem meghagyni az eredeti fájlneveket, legalább "nagyjából": pl. ékezet nélkül, kisbetűvel, korlátozott hosszal, felülírás-védelemmel. Szerintem úgy barátibb, bár több munka megcsinálni. (Ellenben ha jól szervezed a munkád-kódod, akkor csak egyszer csinálod meg - és sokszor felhasználod.)
- Az áthelyezés (fájl) és másolás és törlés teljesen felesleges. Egyetlen áthelyezés is elég.

Ezek után - és a MySql előtt - lenne helye a bélyegkép-gyártásnak. Ha egy "épkézláb keretrendszert" használnál, abban lenne számodra egy-két osztály, amikkel ezt (is és sok mást is) meg tudod oldani.

Ha nincs, akkor marad a GD vagy imagic vagy más. Olvasd el a kézikönyvet ezekről, vannak ott példák is. Nem árt, ha saját magadtól próbálod meg, majd ha már van kódod, akkor szívesen segítünk kijavítani benne a hibákat. Programból a képszerkesztés nem a legegyszerűbb feladat, de - szerintem - meg lehet (és kell is) tanulni.
21

A pontokkal egyetértek

jgege · 2013. Feb. 5. (K), 09.56
A pontokkal egyetértek kivéve:
"Javaslat: használj valamilyen (MVC) keretrendszert!"
Nekem a kódból az jön le, hogy egy lelkes kezdő. Ha egy (MVC) keretrendszerrel kezd abból sok jó nem fog kisülni :) Inkább kezdje az ismerkedést az objektum orientált php-vel ezután majd esetleg egy saját MVCnek is neki vághat. Ha most neki ugrik egy profi rendszernek nem fogja tudni kihasználni és valószínűleg érteni se fogja minek mi értelme van, az pedig heggesztéssel jár amiből tanulni nem fog, de jól működő rendszere sem lesz...

microtime() és uniqid() használatánál ebben az esetben lenne valami különbség?
22

Keretrendszer

Pepita · 2013. Feb. 5. (K), 19.58
Vannak ám kicsi, egyszerű fw-ök is, azt embere válogatja, ki hogyan és miből tanul könnyebben. Lehet, hogy ő egyáltalán nem akar tanulni, ami nem jó, de akkor egy jó manual-lal megáldott egyszerűbb fw-el (ideig-óráig) többre megy. Viszont minden különösebb tudás/tapasztalat nélkül saját MVC-nek nekiállni - kudarcra van ítélve. OOP-vel elkezdeni ismerkedni (már amennyire a PHP OOP :)) egy kicsi, "OOP" fw-el a legjobb - szerintem (és itt nem egy Zend v. hasonló kvalitásra gondolok). Ekkor neki "csak" átlátni és megérteni kell a dolgokat, nem rögtön elsőre megfelelően létrehozni.
microtime() és uniqid() használatánál ebben az esetben lenne valami különbség?
Nézőpont kérdése, az is jó.
27

Framework szerintem csak

jgege · 2013. Feb. 6. (Sze), 20.37
Framework szerintem csak akkor jó ha 'pénzért csinálod'/'nagyobb projektet csinálsz', mert az kicsit más felelősség kategória egy ilyen oldalhoz, mint amit ő is készít szerintem felesleges. Ha tudsz akkor dobhatnál pár linket hátha látok valamit ami megtetszik :)

Viszont minden különösebb tudás/tapasztalat nélkül saját MVC-nek nekiállni

Újra csak egyetérteni tudok, én nagyjából 1 év durva phpzás után futottam neki (6 hónap suli ezután pedig 6 hónap meló), előtte értelme se lett volna mert nem kezdtem bele akkora projektbe amihez ez szükséges lett volna. Aztán az ember megtanulja, hogy mekkora szívás a procedurális vonal (vagy én nem tanultam meg okosan rendezni a kódom? :)).

Én a saját CMS-t tartom legjobb tanulási gyakorlatnak, ahhoz talál az ember a legtöbb követelményt (itt már gondolok arra is, hogy a drupálban nem véletlenül vannak dinamikusan a tartalomformátumok) és így gyorsan meg lehet érteni miért is van szükség komolyabb dolgokra.
44

Kicsit késve...

Pepita · 2013. Feb. 18. (H), 20.10
Ha tudsz akkor dobhatnál pár linket
Én ezt bírom,, bár vannak hibái. Kicsi, gyors. Szerintem ezt érdemes használni "kis honlapokhoz" is. Sokkal jobb, mint egymagad gépészkedni. (Furcsa, úgy 1-2 éve lehet, hogy az ellenkezőjét mondtam...:))

Én a saját CMS-t tartom legjobb tanulási gyakorlatnak
Ha csak tanulni akarsz.
Azért egy korrekt felhasználókezeléshez, tartalomkezeléshez jócskán kell tapasztalat, szerintem főként "nagy" CMS-ek tanulmányozásából merítve.
20

Lehet, hogy nem éppen erre

jgege · 2013. Feb. 5. (K), 09.46
Lehet, hogy nem éppen erre vágysz, de az OOP-vel való ismerkedésnek jó... Na meg ott a kód amit egyszerű használni :)

Miután végig csináltad ennyi lesz egy átméretezés:
include("resize-class.php");  
$resizeObj = new resize('sample.jpg');  
$resizeObj -> resizeImage(150, 100, 'crop');  
$resizeObj -> saveImage('sample-resized.gif', 100); 
Tutorial:
http://net.tutsplus.com/tutorials/php/image-resizing-made-easy-with-php/
23

nem arról van szó, hogy nem

drext0r · 2013. Feb. 5. (K), 23.55
nem arról van szó, hogy nem akarnék tanulni 16 éves vagyok és mindent meg szeretnék tanulni a webfejlesztéssel kapcsolatba és ezt a képkezelést is meg szeretném tanulni csak most kellett volna egy gyors kis segítség, hogy hamar berakom azt mehet is de akk nemigy működik :D mondjuk azt hittem sokkal egyszerűbb egy képet átméretezni de nem...

a keretrendszerekről meg annyit, hogy egyszerűen nem tudom megérteni, hogy mire jók amikor érdekelt utána olvastam meg is néztem párat de nem látom át vagy nem tudom de nemvágom...
24

basszus nemigazán akar ez

drext0r · 2013. Feb. 6. (Sze), 00.11
basszus nemigazán akar ez menni
26

ne add fel :D

jgege · 2013. Feb. 6. (Sze), 20.24
Töltsd le arról az oldalról a forráskódot (természetesen teljesen ingyenes és szabadon felhasználható)

//[...]
copy("tmp/".$avatar_local_tmp_name,"upload/".$avatar_local_tmp_name);
// törli a saját tmp fájlt  
unlink("tmp/".$avatar_local_tmp_name);

include("resize-class.php");
$resizeObj = new resize('upload/'$avatar_local_tmp_name);
$resizeObj -> resizeImage(100, 100, 'crop');
// hozd létre a kiskepek mappát (vagy inkább adj neki más nevet :D)
$resizeObj -> saveImage('kiskepek/'.$avatar_local_tmp_name, 100);

//[...]

Amikor kiolvasod a képeket akkor pedig ne az upload-ból kérd le hanem a "kiskepek"ből. Ez most gyors probléma megoldásra jó lesz és nem lesz lassú a képek betöltése. Érdekelni fog ez szerintem téged annyira, hogy utána nézz... pl vízjelezés is jó volna a képekre nem? ;) A gond, hogy normális tutorialt nem tudok ami kifejezetten erre van minden sallang nélkül kezdőknek és hosszadalmas lenne ezt leírni, hogy melyik funkció mit csinál...
28

köszi :D de ha beillesztem

drext0r · 2013. Feb. 6. (Sze), 22.14
köszi :D de ha beillesztem ezt a kódot akkor nem működik a feltöltés egy 500-as internal server errort kapok...
41

<?php print_r(get_loaded_exte

inf3rno · 2013. Feb. 17. (V), 07.47

<?php
print_r(get_loaded_extensions());
?>
Ezzel próbálkozz elsőnek, ha van a kiírt listában gd vagy imagick, akkor használd valamelyiket, ha nincs, akkor meg kérd a szolgáltatót, hogy tegye fel neked.

Ezek után google-ben kismillió találat van arra, hogy hogyan kell használni ezeket kép átméretezésre. Keresni kellene megtanulni, meg angolul...
25

Helyes

Pepita · 2013. Feb. 6. (Sze), 14.33
Annak nagyon örülök, hogy mindent meg akarsz tanulni, az jó.
Ám a "gyors kis segítség, hogy hamar berakom azt mehet is" tényleg nem műxik, főként azért, mert semmit sem tanulnál belőle.
Különben nem olyan bonyolult egy képet átméretezni, csak sok türelem kell a megtanulásához (mint általában mindenhez, ami webfejlesztés). Lehet, hogy azért vagy türelmetlen, mert rögtön "éles" oldalon gyakorolsz. Ehelyett sokkal jobb - legalább eleinte - a saját gépedre telepített Apache-PHP környezetben ("localhost"-on) próbálkozni.

Fentieket átrágva azt gondolom, hogy a keretrendszerekkel és az OOP elvekkel is várj, mélyebben kell kezdeni az alapozást. Itt egy tök jó cikkajánló, amivel elindulhatsz. Először legyél profi HTML-ből, aztán CSS-ből, utána jöhet JS-jquery, csak ezután PHP majd MySql. Ha rászánod a kellő időt-türelmet-energiát, profi lehetsz.
29

tudom, hogy ez nem így

drext0r · 2013. Feb. 6. (Sze), 22.22
tudom, hogy ez nem így működik mióta webfejlesztést tanulok már jó pár dologgal megküzdöttem, hogy megértsem hogyan is működik és ezt is meg szeretném mert ezt szeretem a webfejlesztésbe, hogy mindig kihívást jelent :D és ezt is meg fogom tanulni ahogy más sok más dolgot is csak ez sűrgős a gépemen meg van xampp az oldalt is ott készítettem csak egy másik gépen...

folyamatosan tanulok :D
30

Akkor Manual

Pepita · 2013. Feb. 7. (Cs), 13.02
csak ez sűrgős
Akkor a kézikönyvben a GD könyvtár függvényeit tanulmányozd, van sok példa is. Az átméretezésre az ImageCopyResized fv. használható, de persze előtte meg kell nyitni, stb. Aztán ha ez sikerült GD-vel, akkor lehet tovább menni Imagick, stb. felé.

Szerk.: ne egy képen belül méretezz, hanem forrás- és célkép legyen! Egy képen belül használva gázos lehet.
31

na minden faszán működik ás

drext0r · 2013. Feb. 16. (Szo), 13.12
na minden faszán működik ás mindenkinek köszönöm a segítséget :D viszot újabb problémába futottam azaz nem tölti fel a nagy méretű (2000x4000) képeket.

Pedig én nem korlátozom ezt vagy ezt alapból valahol át kell állítani ?
32

Fájlméret korlát?

Poetro · 2013. Feb. 16. (Szo), 13.56
Nem lehet, hogy a fájl méretének, illetve a maximális POST-olható adat illetve memóriabeli korlátozásokba ütközöl?
33

hát én egyedül a

drext0r · 2013. Feb. 16. (Szo), 14.06
hát én egyedül a upload_max_filesize állítottam át
34

Ami számít

Poetro · 2013. Feb. 16. (Szo), 15.21
Ami számít:
  • upload_max_filesize
  • max_file_uploads
  • file_uploads
  • post_max_size
  • memory_limit

Bővebb információért látogasd meg a referenciát.
35

feljebb állítottam mindent

drext0r · 2013. Feb. 16. (Szo), 16.47
feljebb állítottam mindent amit lehet de nem működik nem tudom mi lehet és azt se értem, hogy 11mb a max feltöltési méret a kép 2mb csak a felbontása nagy akkor mért nem tölti fel ?
37

Biztosan a feltöltés nem

Poetro · 2013. Feb. 16. (Szo), 20.45
Biztosan a feltöltés nem működik? Nem az átméretezés nem fut le?
38

Igen bar nem ertemmert ugy

drext0r · 2013. Feb. 16. (Szo), 22.19
Igen bar nem ertemmert ugy megy sorba a feldolgozas hogy elindul a feldolgozas megvizsgálom a dolgokat hogy rendben van e a kep utana feltoltom normál méretben aztan atmeretetem ugyis lementem majd el kene mentenie adatbazisba a kep adatait es vegul kiirni az adatokat es megjeleniteni a képet de felse tolti adatbazisba se kerul es megse jelenit semmit es bemertem hogy mért áll le az egész attol hogy egy képnek nagyobb a felbontása...
39

Bocs a helyesírásért csak

drext0r · 2013. Feb. 16. (Szo), 22.21
Bocs a helyesírásért csak mobilrol irtam
40

Mondjuk mert az

Poetro · 2013. Feb. 16. (Szo), 23.33
Mondjuk mert az átméretezéskor elfogy a memória? Maga a képed 24MB memóriát foglal le, ha betöltöd, és még át se méretezted.
42

Érdemes lenne bekapcsolni az

inf3rno · 2013. Feb. 17. (V), 07.51
Érdemes lenne bekapcsolni az error loggolást... Szerintem is inkább memory limittel lehet gond.
43

erre nem is gondoltam de a

drext0r · 2013. Feb. 17. (V), 14.53
erre nem is gondoltam de a memory limit volt a gond köszi :D
36

Mi a hiba?

hunkris · 2013. Feb. 16. (Szo), 17.33
Mi a hiba?