Jump to content
php.lv forumi
L4URO

Kāda ir taktika,lai šo izpildītu?

Recommended Posts

č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š!

Share this post


Link to post
Share on other sites

Nū, es vispār neko nesapratu.

Varētu uzrakstit vēlreiz un lēnāk.

Share this post


Link to post
Share on other sites

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;

Share this post


Link to post
Share on other sites

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 by anonīms

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Nepiekrītu, codez. Izmantot servisu, lai resaizotu bildi, jau paliek smieklīgi.

Edited by daGrevis

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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 by codez

Share this post


Link to post
Share on other sites

Nū, es vispār neko nesapratu.

Varētu uzrakstit vēlreiz un lēnāk.

  1. cilvēks aizpilda input fieldus
  2. tiek uztaisīta bilde,kura satur to,ko viņš rakstīja (tas glabājas mainīgajā,jo tur ir arī cita informācija)
  3. katrai bildei ir unikāls links un blakus ir facebook poga,uz kuras uzspiežot var sharot to bildi.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

pamēģini ar php resize-ot kustīgu gifu, utt.

 

Labs iemesls lai nelietotu PHP? :D

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...