L4URO Posted November 27, 2013 Report Share Posted November 27, 2013 čau,tā tad ja es tā gribu cilvēks aizpilda input fieldu - > tiek uzģenerēta bilde ar GD bibliotēku (tik tālu viss ir) , bet kā es varu uzģenerēt unikālu url uzģenerētajai bildei,lai tas parādas url vietā un to linku,uzspiezot uz pogas vai linka, varētu sharot facebooka un tad facebooka paraditos tā bilde. Man ir generate.php fails,kurš saņem caur sesiju datus(tas ir mainigais,kurš satur to ,ko ievada lietotājs un vēl manis pielikto tekstu) un uztaisa jpeg bildi,bet url pēc ģenerēšanas ir .../path/to/generate.php ,bet es laikam vajadzētu .../path/to/generate.php/randomlink/randomnumbers/blablabla.jpg un tad darīt visu kā iepriekš. Un submit man ir tikai failā,no kura nāk dati,bet generate.php izvada tikai bildi uz ekrāna. sharing funkciju var ietvert kaut vai tajā generate.php , būtu vispār labi ,ja varētu uzģenerēt bildi generate.php ,tad nosūtīt to uz failu,no kurienes nāk dati, un izvadīt uz ekrāna bildi (man tajā lapā,no kurienes nāk dati ir arī citas lietas) un url vietā ir tās ģenerētās bildes url (vai arī nav,bet blakus ir facebook poga uz kuras uzspiežot ir iespēja šērot to bildi),lai to varētu šērot,kad nokopē ģenerēto url un ar to url ieiet tad parādas tikai bilde. generate.php fails <?php session_start(); header('Content-type: image/jpeg'); if (isset($_SESSION['yourOwn'])) { $result = $_SESSION['yourOwn']; $email_lenght= strlen ($result); $font_size=4; $image_height = ImageFontHeight ($font_size); $image_width = ImageFontWidth ($font_size) * $email_lenght; $image = imagecreate($image_width, $image_height); imagecolorallocate($image, 255, 255, 255); $font_color = imagecolorallocate($image, 0, 0, 0); imagestring($image, $font_size, 0, 0, $result, $font_color); imagejpeg($image); unset($_SESSION['yourOwn']); imagedestroy($image); } ?> varbūt varat iedot tutorialus vai vienkārši paskaidrot loģiku,kā darīt. Ja ir neskaidrības,tad prasat. Būšu ļoti priecīgs,ja kāds var palīdzēt! Liels paldies jau iepriekš! Quote Link to comment Share on other sites More sharing options...
blackhalt Posted November 27, 2013 Report Share Posted November 27, 2013 Nū, es vispār neko nesapratu. Varētu uzrakstit vēlreiz un lēnāk. Quote Link to comment Share on other sites More sharing options...
werd Posted November 28, 2013 Report Share Posted November 28, 2013 Attēlu saglabāt failā ar unikālu faila nosaukumu(unikalitātei var izmantot md5, time(), uniqid() utml.). $filename = md5(uniqid() . time() . $user_input_text) . '.jpg'; imagejpeg($image, 'images/' . $filename); $_SESSION['path_to_user_image'] = 'images/' . $filename; Quote Link to comment Share on other sites More sharing options...
anonīms Posted November 28, 2013 Report Share Posted November 28, 2013 (edited) Kāpēc gan katru reizi pie pieprasījuma būtu jāgēnerē šo failu pa jaunu? Var taču viņu pieglabāt kaut kur kā bildi pēc tam, kad tā ir izveidota. edit: (doh). Nepamanīju werd. Vairāk jāēd. Edited November 28, 2013 by anonīms Quote Link to comment Share on other sites More sharing options...
codez Posted November 28, 2013 Report Share Posted November 28, 2013 Efektīvāk ir izmantot tam gatavus servisu, piemēram, http://cloudinary.com/ Ielādē servisā vienu bildi un saņem pretī kādos izmēros gribi, ar papildus filtriem vai tumbhnailu, mainot tikai bildes saites parametrus. Līdz 50k bildēm bez maksas. Pie tam bildes smuki atrodas cdn-ā un tiek servētas daudz ātrak. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted November 28, 2013 Report Share Posted November 28, 2013 (edited) Nepiekrītu, codez. Izmantot servisu, lai resaizotu bildi, jau paliek smieklīgi. Edited November 28, 2013 by daGrevis Quote Link to comment Share on other sites More sharing options...
Kasspars Posted November 28, 2013 Report Share Posted November 28, 2013 Klasiskā problēma ar thumbnailiem ir, kad cilvēkam nogriež pus galvu. Šitam smuki padod parametru g_face un tev atgriež izgrieztu seju. @daGrevis Tava resaizošanas biblene tā māk? Quote Link to comment Share on other sites More sharing options...
aaxc Posted November 28, 2013 Report Share Posted November 28, 2013 Kur problēma izmantot šāda veida rīku? Quote Link to comment Share on other sites More sharing options...
Kasspars Posted November 28, 2013 Report Share Posted November 28, 2013 automātiski vs manuāli Quote Link to comment Share on other sites More sharing options...
codez Posted November 28, 2013 Report Share Posted November 28, 2013 (edited) Nepiekrītu, codez. Izmantot servisu, lai resaizotu bildi, jau paliek smieklīgi. Ne jau tikai resaizotu: 1)Arī glabātu. Protams, ja ir skaidri zināms, ka projekts neizies ārpus viena servera izmēriem, tad viss ok, ja nē, nāksies pašam būvēt savu storagi, jo klasiskais variants, ka saglābā mapē blakus php kodam nestradās, kad būs 2+ serveri aiz loadbalancera. 2)Servētu ar CDN 3)Normāli projekti tāpat izmanto cloud storage, šeit tas nāk komplektā ar kaudzi funkciju 4)dinamiskums. Vari uploadod vienu bildi un tad projekta attīstibas gaitā mainīt tās izmērus un pielāgot vajadzībām, tikai nomainot parametrus linkā. Piemēram, sākumā domāju, ka usera profila bildes būs 50x50, bet pēc tam tomēr 60x60. nomaini vienā vietā parametru un lieta darīta. 5)to, ko Kasppars teica Edited November 28, 2013 by codez Quote Link to comment Share on other sites More sharing options...
L4URO Posted November 28, 2013 Author Report Share Posted November 28, 2013 Nū, es vispār neko nesapratu. Varētu uzrakstit vēlreiz un lēnāk. cilvēks aizpilda input fieldus tiek uztaisīta bilde,kura satur to,ko viņš rakstīja (tas glabājas mainīgajā,jo tur ir arī cita informācija) katrai bildei ir unikāls links un blakus ir facebook poga,uz kuras uzspiežot var sharot to bildi. Quote Link to comment Share on other sites More sharing options...
L4URO Posted November 28, 2013 Author Report Share Posted November 28, 2013 tad cloudinary ir labākais variants,pagaidām ? es uploadoju bildi,tad tai ir links,es bildi no cloudinary savā lapā parādu lietotājam bildi un tad katru reizi mainu facebook share linka [images][0] vērtību ? <a href="http://www.facebook.com/sharer/sharer.php?s=100&p[url]=http://www.majaslapa.com&p[images][0]=http://res.cloudinary.com/cloudinary-pubnub-demo/image/upload/c_limit,h_600,w_600/v1385648097/hz6whk0bjd6vspgshmbv.png&p[title]=texttexttexttexttext!&p[summary]=texttexttexttexttext"></a> es sapratu domu? Quote Link to comment Share on other sites More sharing options...
daGrevis Posted November 29, 2013 Report Share Posted November 29, 2013 SaaS resize un SaaS storage nav viens un tas pats. Par storage statiskajiem, publiskajiem datiem es piekrītu, nav jēgas to turēt pie sevis. Par resize, nu nē, tas nav vajadzīgs. Tik pat labi tādu un jebkādu citu resize algoritmu tu vari izpildīt pie sevis. Quote Link to comment Share on other sites More sharing options...
codez Posted November 29, 2013 Report Share Posted November 29, 2013 Tik pat labi tādu un jebkādu citu resize algoritmu tu vari izpildīt pie sevis. Var tikai, tad tev nāksies: 1)vai nu visus nepieciešamos izmērus jau iepriekš sataisīt un sūtīt uz cdn (nav forši, ja projekts tiek veidos un viss vēl nav precīzi izplānots), 2)vai arī taisīt pašam savu resize servisu, kurš pēc pieprasījuma, izveido noteikto izmēru un iemet cdn storagē, (šeit pastāv daudz problēmu, sākot ar to, ka kāds var ciklā sākt pieprasīt visas bildes izmēru kombinācijas un pied.... tavu cloud storagi) 3)vai, ja atsakās no cdn, tad jātaisa pašam savs resaizošanas serviss ar kešošanām un citām lietām. (jāuztaisa principā tas, kas ir jau uztaisīts) Kāpēc to nedarīt pie sevis? Kaut vai tāpēc, ka viņiem jau ir viss atstrādāts, efektīvāks, ātrāks, labākas bilžu kvalitātes, atbalsts formātiem, piem., pamēģini ar php resize-ot kustīgu gifu, utt. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted November 29, 2013 Report Share Posted November 29, 2013 > pamēģini ar php resize-ot kustīgu gifu, utt. Labs iemesls lai nelietotu PHP? :D Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.