Gå til innhold

PHP kode som andre kanskje kan bruke


Anbefalte innlegg

1) Du bruker forferdelig dårlige variabel-navn.

2) Ingen "nybegynner" skjønner en drit av den koden der! (de som kopierer herfra, å bare limer inn)

Heisann php_user, bytta brukerkonto nå? Tror ikke akkurat du er rette person til å vurdere og kommentere andres koder, da dine egne suger grenseløst, og du har tidligere vist ingen evne til å ta til deg negativt, men konstruktiv kritikk. Hvorfor skal da Ernie rette seg etter dine kommentarer?

 

 

Hvem er php_user?

medusa1414 kommer fra nordicmafia, så synes det hørtes kult ut;) å regga det her.

Endret av medusa1414
Lenke til kommentar
Videoannonse
Annonse
Ehh ... og det var da rett mann til å påpeke slikt også
1) Du bruker forferdelig dårlige variabel-navn.
Kan på ingen måter si jeg kjenner meg igjen der. Hvis jeg bruker så utrolig dårlige navn på variablene så kunne du jo henvise til noen av de med tips om hva jeg burde ha kalt de i stedet ;)

 

 

Trekker tilbake det, med dårlige varibelnavn - etter å ha lest gjennom koden engang til ;)

Lenke til kommentar

EID!!!!

Eller PWD ( som man bla skriver i linux ;))

Men for en mer saklig del av innlegget:

Kan vi ikke kutte ut nå?

Og la fyren lure sæ sjøl?

 

Noen andre som har kodesnutter?

 

Har et graf script som brukes her

Det er jo da relativt hardkoda, men kanskje en newb lærer noe

 

Kode:

<?php
header("Content-type: image/jpeg");

//Fulle banen til font filen
$font = '/var/www/script/kurs/DejaVuSans.ttf';
//hente data
$file = file('kurs_his.txt');
$pris_usd = 399;
$file = array_reverse($file);
$numbers = 95;
for($h = 0; $h < ($numbers - 11);$h++)
{
$explode = explode('||',$file[$h]);
$pris_nok = round($pris_usd * $explode[0]);
$data[$h] = $pris_nok;
$dates[$h] = str_replace('/2008','',$explode[1]);
}

$data = array_reverse($data);
$dates = array_reverse($dates);
//hente data slutt
$data_sort = $data;
$sum = array_sum($data); 
sort($data_sort, SORT_NUMERIC);
$data_sort_max = array_pop($data_sort);
$data_sort_min = $data_sort[0];


$height = 230;
$height_image = 320;
$width = 1200;
$margin_get = htmlspecialchars($_GET['margin']);
if(!is_numeric($margin_get) || empty($margin_get) || $margin_get < 10)
$margin = 10;
else
$margin = $margin_get;
$max = $data_sort_max + $margin;
$min = $data_sort_min - $margin;
$range = $max - $min;

$height_p = (($height-1) / -100);
$space_add = $width / ($numbers-5);

$im = imagecreate($width,$height_image);

$white = imagecolorallocate($im,255,255,255); 
$black = imagecolorallocate($im,0,0,0);   
$red = imagecolorallocate($im,255,0,0);  

imagefttext($im, 12, 0, ($width/2)-90, 12, $black, $font,'Graf over pris for enkelt personer');
imageline($im, 45,20,45,$height+19,$red);

$space_y = ($height-1) / 10;
$e = 0;
for($d = 0; $d < 110; $d += 10)
{
$value[$e++] = $min + ($d * ($range / 100));
}
$value = array_reverse($value);

for($a = 0; $a < 11; $a++)
{
imagefttext($im, 8, 0, 10, ($a*$space_y)+25, $black, $font,round($value[$a]));
$line = ($c++ & 1) ? 50 : $width;
//$line = $width;  //Vise lange linjer p� hvert steg, ikke bare annetvert
imageline($im, 40,($a*$space_y)+20,$line,($a*$space_y)+20,$red);
}

$b = 60;
for($i = 0; $i < count($data); $i++)
{
$prosent = (($data[$i]-$min) / $range) * 100;
$px_inv = $prosent * $height_p;
$px = round($px_inv + $height+18); //Endre h�yden p� graf ved � endre tallet som plusses eller trekkes fra $height
imagefilledrectangle($im, $b-1,$px-1,$b+2,$px+2,$red);
//bunn
imageline($im, $b,(($a-1)*$space_y)+15,$b,(($a-1)*$space_y)+24,$red);
imagefttext($im, 8, -70, $b-3, (($a-1)*$space_y)+26, $black, $font,$dates[$i]);
//topp
imageline($im, $b,(($a-1)*$space_y)-204,$b,(($a-1)*$space_y)-214,$red);
imagefttext($im, 8, -70, $b-8, (($a-1)*$space_y)-200, $black, $font,$data[$i]);
$punkt_y[$i] = $px;
$punkt_x[$i] = $b;
$b += $space_add;
}

for($x = 0; $x < count($data);$x++)
{
if($x == count($data)-1)
{
	$punkt_x[$x+1] = $punkt_x[$x];
	$punkt_y[$x+1] = $punkt_y[$x];
}
imageline($im, $punkt_x[$x], $punkt_y[$x], $punkt_x[$x+1], $punkt_y[$x+1], $black);
imagefilledrectangle($im, $punkt_x[$x]-1,$punkt_y[$x]-1,$punkt_x[$x]+2,$punkt_y[$x]+2,$red);
}



imagejpeg($im);

 

Som dere ser, VELDIG hardkoda ;)

Endret av AlecTBM
Lenke til kommentar

Vise datoen f.eks slik:

02, September - 2008

 

Klikk for å se/fjerne spoilerteksten nedenfor
<?php
function dato()
	{

		$dato_dag   = date("d");
		$dato_maned = date("m");
		$dato_ar	= date("y");
		$aar		=	  "20"; //To første tallene i året vi er i.
		// ---------------------------------------------
		switch($dato_maned) {
			case "01":
				$dato_maned = "Januar";
			break;
			case "02":
				$dato_maned = "Februar";
			break;
			case "03":
				$dato_maned = "Mars";
			break;
			case "04":
				$dato_maned = "April";
			break;
			case "05":
				$dato_maned = "Mai";
			break;
			case "06":
				$dato_maned = "Juni";
			break;
			case "07":
				$dato_maned = "Juli";
			break;
			case "08":
				$dato_maned = "August";
			break;
			case "09":
				$dato_maned = "September";
			break;
			case "10":
				$dato_maned = "Oktober";
			break;
			case "11":
				$dato_maned = "November";
			break;
			case "12":
				$dato_maned = "Desember";
			break;
		}
		// ---------------------------------------------

		$dato = $dato_dag . ", " . $dato_maned . " - " .  $aar.$dato_ar;

		echo $dato;

	}


//============================================
// Skrive ut datoen
//============================================

dato();

?>

Endret av creAtiive
Lenke til kommentar

Først

20.date("y");

gir det samme som (oftest)

date("Y");

 

Unødvendig bruk av ressurser ved å bruke case istedenfor array

 

$mnd[01] = 'Januar':
$mnd[02] = 'Februar':
osv..

er mye bedre

også vise med $mnd[$dato_maned];

(EDIT: For en bedre måte, se kommentaren under)

 

EDIT2:

http://no.php.net/manual/en/function.mt-rand.php#85386

Ehm Creative?

copy/paste?

Endret av AlecTBM
Lenke til kommentar
I tillegg til kommentaren rett over kan følgende linjer med kode gjøre eksakt det samme:

setlocale(LC_TIME, 'no_NO');
 //ev. setlocale(LC_ALL, 'no_NO');
 echo strftime("%d, %B %Y");

 

 

Hvor finner man ut sånt? :p

Står det skrevet noen sånne triks et sted??

 

http://www.php.net ;)

Må bare lese og lete lenge nok

EDIT:

Samt erfaring og lese gjennom andres kode

 

EDIT2:

http://no.php.net/manual/en/function.setlocale.php

Endret av AlecTBM
Lenke til kommentar
I tillegg til kommentaren rett over kan følgende linjer med kode gjøre eksakt det samme:

setlocale(LC_TIME, 'no_NO');
//ev. setlocale(LC_ALL, 'no_NO');
echo strftime("%d, %B %Y");

 

 

Hvor finner man ut sånt? :p

Står det skrevet noen sånne triks et sted??

Erfaring, hukommelse, har en ide hva språk og/eller rammeverk bør dekke, god bruk av og evne til å bruke søkemotorer, utstrakt bruk av manualen osv. Der har man trikset. Hvor godt man behersker slikt og antall tråder man lager f.eks her i PHP-kategorien er cirka omvendt proposjonalt. Ikke for å skryte, men selv postet jeg forrige tråd her i august 2007, før det må man helt tilbake til september 2006 og før det igjen til juni 2005. Det er i realiteten cirka halvparten av alle trådene jeg har opprettet her, og det er aldeles ingen tilfeldighet. Det kommer rett og slett av at jeg søker og finner de svarene jeg trenger når jeg lurer på noe. Har man et problem er man sjeldent den første, og da finnes det alltid en tråd, artikkel, kommentar e.l. som hjelper. I tillegg har jeg i det store og det hele lært å programmere ordentlig på en skole i stedet for å være selvlært. Selvlært er nok dessverre langt fra alltid vellært. Når man går på en høgskole får man jo tross alt 1.5 år (pr. def. 675 timer) med mer eller mindre enkle oppgaver som man er nødt til å løse, og det gir seg såklart utslag. Programmering sitter liksom litt i fingrene etterpå når det første halvåret stort sett består av enkle programmer konstruert med enkle for-, while- og do-looper i tillegg til enkel utskrift og innlesing.

 

Er sånn cirka det som er «hemmligheten». Gode søke- og programmeringsevner.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...