Gå til innhold
🎄🎅❄️God Jul og Godt Nyttår fra alle oss i Diskusjon.no ×

PHP kode som andre kanskje kan bruke


Anbefalte innlegg

Ferdig upload-script, bare å ekstraktere der du vil ha det.

 

funksjoner:

nekte enkelte filtyper å lastes opp

Mulighet for å velge antall filer du vil laste opp

Mulighet for å lagre linker

Mulighet for å vise alle opplastede bildefiler som et bildegalleri, resizet til thumbnails (krever GD)

Mulighet for å slette opplastede filer

 

krever PHP5 pga funksjonen scandir, men dersom du ønsker det kan du bare legge til din egen implementasjon av denne funksjonen i egen funksjonsfil som følger med, så er det fiksa.

 

 

Forumet likte ikke .rar filer, men .tar godtok den. bare å pakke ut i WinRAR som på vanlig måte.

 

EDIT: som regel er min egen server skrudd på, der kan scriptet utforskes og testes ut: LINK

upload.tar

Endret av hockey500
Lenke til kommentar
  • 2 måneder senere...
Videoannonse
Annonse

Poster her i håp om at flere følger etter.

 

Dette scriptet logger ip-adressen til en .txt fil:

 

<?php
$ip = $_SERVER['REMOTE_ADDR']; 
$date = date("F j, Y"); 
$time = date("g:i a"); 
$file = fopen('./ip_logg.txt', 'a', 1); 
$text="IP: {$ip} - Dato: {$date} - Tid: {$time}\n"; 
fwrite($file, $text); 
fclose($file); 
echo"
<center><b>Din IP adresse er logget<br>{$ip}</b></center>" 
?>

 

Inkluder den på siden du vil logge ip-adresser på med:

<?php include "logg.php"; ?>

Endret av lefsaker
Lenke til kommentar

En enkel terminal for MySQL-spørringer. Gøy å leke med og lære seg MySQL i hvis man ikke har installert MySQL på sin egen PC. :)

<html>
   <head>
       <title>MySQL-terminal</title>
       <style type="text/css">
           textarea  	{ width: 600px; height: 200px; }
           table  	{ border-collapse: collapse; }
           td    { border: solid 1px #aaa; }
           th    { border: solid 1px #000; }
       </style>
       <?php
           if (!empty($_POST['sql'])) {
               $sql = stripslashes($_POST['sql']);
           }
           
           function error_report() {
               echo 'Error#: '. mysql_errno() . '<br>
                       Message: ' . mysql_error();
           }
       ?>
   </head>
   
   <body>
       <form method="post">
           <label>Spørring:<br> <textarea name="sql"><?php if (isset($sql)) { echo $sql; } ?></textarea></label><br>
           <input type="submit" value="Kjør spørring">
       </form>
       <table>
<?php
   if (!empty($_POST['sql'])) {
       $mysql_link = mysql_connect('db01', 'passord', 'brukernavn') or die(error_report());
       $mysql_db = mysql_select_db('12036') or die(merror_report());
       
       $get_data = mysql_query($sql) or die(error_report());
       
       if (!stristr($sql, 'insert') AND !stristr($sql, 'update') AND !stristr($sql, 'delete') AND !stristr($sql, 'create') AND !stristr($sql, 'drop')) {
           while ($data = mysql_fetch_assoc($get_data)) {
               if (!isset($body)) {
                   echo "<tr>\n";
                   foreach ($data as $key => $value) {
                       echo "<th>{$key}</th>\n";
                   }
                   echo "</tr>
                           <tr>\n";
                   foreach ($data as $key => $value) {
                       echo "<td>{$value}</td>\n";
                   }
                   echo "</tr>\n";
                   $body = 'set';
               } else {
                   echo "<tr>\n";
                   foreach ($data as $key => $value) {
                       echo "<td>{$value}</td>\n";
                   }
                   echo "</tr>\n";
               }
           }
       }
       echo '</table>';
       
       if (stristr($sql, 'insert') OR stristr($sql, 'update') OR stristr($sql, 'delete') OR stristr($sql, 'create') OR stristr($sql, 'drop')) {
           echo '<p><strong>Info:</strong> ' . mysql_info() . '</p>
               <p><strong>Påvirkede rader:</strong> ' . mysql_affected_rows() . '</p>';
       } else {
           echo '<p><strong>Rader:</strong> ' . mysql_num_rows($get_data) . '</p>
           <p><strong>Kolonner:</strong> ' . mysql_num_fields($get_data) . '</p>';
       }
       echo '<p><strong>Server info:</strong> Version ' . mysql_get_server_info() . '</p>
       <p><strong>Status:</strong> ' . mysql_stat() . '</p>
       <p><strong>Tegnkoding:</strong> ' . mysql_client_encoding() . '</p>';
   }
?>
   </body>
</html>

Edit: En liten forbedring.

Endret av endrebjorsvik
Lenke til kommentar
  • 2 uker senere...

Denne koden lar deg sende mail fra hvilken som helst mail, til hvilken som helst mail. ^^

 

Dette krever at sendmail er installert og aktivert på serveren/hostingen

 

<?php

if ($_POST['submit'] == TRUE) {
$receiverMail  = stripslashes(strip_tags($_POST['receiver']));
$name       = stripslashes(strip_tags($_POST['name']));
$email  = stripslashes(strip_tags($_POST['email']));
$msg  = stripslashes(strip_tags($_POST['msg']));
$msgformat	= "Fra: $name \nEmail: $email\n\n$msg";

if(empty($receiverMail) || empty($email) || empty($msg)) {
 echo "<h2>Meldingen er ikke sendt</h2><p>Vennligst fyll ut alle de nødvendige feltene</p>";
}
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
 echo "<h2>Meldingen er ikke sendt</h2><p>E-mail adressen er ugyldig</p>";
}
elseif(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")) {
 echo "<h2>Meldingen er sendt!</h2><p>Dette er ditt annsvar, ikke mitt.<br><br><br><br><br><br><br><br></p>"; }
else {
 echo "<h2>Meldingen er ikke sendt</h2><p>Vennligst prøv igjen... Hvis problemet oppstår igjen, er det nok noe galt med serveren.</p>";
}
}
else { ?>
<form method="post" action="">
<p>
<label for="name">E-mail adressen du vil sende TIL:</label><br>
<input id="receiver" name="receiver" type="text" size="30" maxlength="500" /><br /><br />

 <label for="name">Navnet du vil sende FRA:</label><br>
<input id="name" name="name" type="text" size="30" maxlength="500" /><br /><br />

<label for="email">E-mail adressen du vil sende FRA.</label><br>
<input id="email" name="email" type="text" size="30" maxlength="500" /><br /><br />

<label for="message">Melding</label><br>
<textarea id="message" name="msg" cols="50" rows="6"></textarea><br />

<label for="submit"></label>
<input id="submit" class="button" type="submit" name="submit" value="Send" />
</p>
</form>
<?php } ?>

Lenke til kommentar
  • 2 uker senere...

Lagde en ganske basic funksjon som kapper ned lengden på url'er. Akkurat på samme måten som forumet gjør. Ikke spesielt avannsert, men dog kjekt.

http://dette-er-en-kjempe-lang-url.com/som...til/å/kappe.ned

 

PHP

<?php

 

function substrurl($url$lengde$tegn$separator) {

$url htmlspecialchars($url);

if( strlen($url) > $lengde) {

$str substr($url0$tegn);

$rev strrev($url);

$strrev substr($rev0$tegn);

$strrev strrev($strrev);

$url $str.$separator.$strrev;

 

return $url;

}

else

{

return $url;

}

}

 

?>

$url = http://....

$lengde = makslengden før funksjonen kapper den

$tegn = antall tegn pr del etter kutting.

$separator = delen som skal separere de to delene

 

EDIT: Var vist ikke en feil, bare jeg som hadde et tidligere ekspriment sammen med funksjonen.

 

EDIT2: Nødvendig å poste samme kode to ganger, lefsaker?

Endret av M4rTiN
Lenke til kommentar

Ups... glemte at jeg hadde posta den over :blush:

 

Så jeg legger inn en ny en:

 

Denne teller ned til den bestemte tiden

<?php

$year = 2007;
$month = 8;
$day = 4;
$hour = 19;
$minute = 27;
$format = "<font face=arial size=2 color=red><b>{days_left} dager</b>, <b>{hours_left} timer</b> og <b>{minutes_left} minutter</b> igjen tin <b>{count_down_date}</b></font>";
$todaymessage = "<font face=arial size=2 color=red><b>Gratulerer med dagen Lefsaker!</b></font>";
$count_downdateformat = "F j, Y, g:i a";
$output = datedifference($year,$month,$day,$hour,$minute,$format,$count_downdateformat,$todaymessage);

echo $output;

function datedifference($y, $mo, $d, $h, $m,$fr,$cdf,$tdm)
{
$datetarget = mktime($h, $m, 0, $mo, $d, $y, -1);
$today = time();
$difference = $datetarget - $today;
if ($difference < 0)
{ 
$difference = 0;
}
$daysleft = floor($difference/60/60/24);
$hoursleft = floor(($difference - $daysleft*60*60*24)/60/60);
$minutesleft = floor(($difference - $daysleft*60*60*24 - $hoursleft*60*60)/60);

$countdowndate = date("$cdf",$datetarget);

$fr = str_replace("{days_left}","$daysleft",$fr);
$fr = str_replace("{hours_left}","$hoursleft",$fr);
$fr = str_replace("{minutes_left}","$minutesleft",$fr);
$fr = str_replace("{count_down_date}","$countdowndate",$fr);

if($difference==0)
{
$fr = $tdm;
}

return "$fr";
}

?>

Endret av lefsaker
Lenke til kommentar
  • 1 måned senere...

Etter å ha retta </form>;" til </form>"; så får eg fortsatt feilmeldinga: Warning: Cannot modify header information - headers already sent by (output started at /..../imdb.php:11) in /...../imdb.php on line 39

 

Dersom eg tar bort mykje, og lar dette vera igjen virker det. Men då er det jo fast til test :( Kan jo lage det om til to filer, men det er vell mulig å få det i ei?

<?php

$searchText = "test";

$searchText = str_replace(" ", "+", $searchText);

header("Location: http://www.imdb.com/Tsearch?title=$searchtext&restrict=Movies+only&GO.x=0&GO.y=0&GO=search");

?>

Mekka en kode for aa soeke filmer i imdb.

 

Ja jeg vet det finnes html kode som gjoer dette paa kanskje bedre og lettere maate, men hey, jeg vil bare leare..

 


<html>

<body

<head>

<title>My imdb search</title>

</head>

<?php



echo "

<form name='form' method='post' action='$_SERVER[PHP_SELF]'>

  <input name='searchtext' type='text' />

<input name='submit' type='submit' value='Search' />

</form>;"





if($_POST["submit"] == "Search")

{

 $searchText = $_POST["searchtext"];

 $searchText = str_replace(" ", "+", $searchText);



 header("Location: http://www.imdb.com/Tsearch?title=$searchtext&restrict=Movies+only&GO.x=0&GO.y=0&GO=search");

}





?>

</body>

</html>

 

:D

1280428[/snapback]

Endret av smh
Lenke til kommentar
  • 4 uker senere...

Tenkte jeg skulle bidra med en gjestebok :D

 

gjestebok.php

<form action="post.php" method="post">
Ditt navn:<input type="text" name="navn"><br>
<br>
Hilsen:<br>
<TEXTAREA NAME="meld" COLS="50" ROWS="5"></TEXTAREA><br>
<br>
<input type="submit" value="Hils">

<?php
if (($_POST["navn"] == "" )
&& ($_POST["meld"] == "" ))
echo "Fyll ut alle felter";
?>

<fieldset>
<legend>
Hilsner
</legend>
<br>
<?php
include("gjester.txt");
?>
<br>
Er ikke din hilsen her? <a href="javascript:history.go()">Trykk her for å oppdatere</a>
</fieldset>

 

post.php

<?php
if (($_POST["navn"] == "" )
&& ($_POST["meld"] == "" ))
die("<a href=\"gjestebok.php\">Fyll ut</a>");
else
$navn = $_POST["navn"];
$melding = $_POST["meld"];
$dato = date("F j, Y");
$tid = date("G.i.s");
$d = date("D");
$ip = $_SERVER['REMOTE_ADDR'];
$tekst="Skrevet av <b>{$navn}</b>, <b>{$d}</b>, Klokka: <b>{$tid} - {$dato}</b><br> <u>Tekst:</u><br><b>{$melding}</b><br>IP:{$ip}<br><hr><br>";
$file = fopen('./gjester.txt', 'a', 1);
fwrite($file, $tekst);
fclose($file);
{
echo "Din hilsen er lagt til";
echo "<br><br><a href=\"gjestebok.php\">Les i gjesteboka</a>";
}
?>

 

Denne er ikke helt testet ut, men den funker fint :D

 

Startet med php for en uke siden.

Lenke til kommentar

Har også laget en php fil som kan banne brukere på den siden.

 

<?php
$ipad = $_SERVER['REMOTE_ADDR'];
if (($ipad == "10.0.0.1"))
 die("Du har ikke adgang");
elseif (($ipad == "10.0.0.2"))
 die("Du har ikke adgang");
?>

Der hvor det står 10.0.0.1 / 10.0.0.2 kan du fylle ut med en annen ip adresse, skal du ha flere ip'er legger du til

elseif (($ipad == "ip"))

die("Du har ikke adgang");

 

Funker helt fint.. :D

Lenke til kommentar
  • 4 uker senere...

Dette er en teller som kun tillater en telling fra en ip addresse i døgnet.

 

<?php
$ip = $_SERVER['REMOTE_ADDR'];
if ($_COOKIE["teller"] == "$ip"){
setcookie("teller", "$ip", time() - 864000);
setcookie("teller", "$ip", time() + 86400);}
else
setcookie("teller", "$ip", time() + 86400);
$kake = $_COOKIE["teller"];
$tellefil = file("alle.txt");
$tell = $tellefil[0];
$tell = $tell + 1;
if ($kake == "$ip"){
echo "$tell";
break;}
$fo = fopen("alle.txt","w");
$fw = fwrite($fo,$tell);
fclose($fo);
echo $tell;
?>

 

Denne er ikke helt testet men håper den virker.

Lenke til kommentar
Har også laget en php fil som kan banne brukere på den siden.

7417641[/snapback]

I stedet for å skrive samme kode flere ganger, kan du lage en funksjon.

 

<?php

// Funksjon som lar deg blokkere IP-addresser

function NektAdgang($IP){
if (($_SERVER['REMOTE_ADDR'] == "$IP"))
die("Du har ikke adgang");
}

// IP-addresser som nektes adgang

NektAdgang("10.0.0.1");
NektAdgang("10.0.0.2");
NektAdgang("10.0.0.3");
NektAdgang("10.0.0.4");
NektAdgang("10.0.0.5");
NektAdgang("10.0.0.6");
NektAdgang("10.0.0.7");

?>

 

Så bare skriver du NektAdgang("IP-addresse"); for hver IP-addresse du vil nekte adgang. :)

Endret av Kadmium
Lenke til kommentar

Jeg har også et bidrag.

Jeg har laga en liten fin ting som lister opp alle mapper og filer i den mappen man er i.

Det er en link til alle de.

det var den enkle delen.

 

Så kommer den litt mer avanserte.

Når man klikker på en mappe så åpnes ikke mappa men innholdet i den mappen vises også.

 

Hvis dere vil teste det så har jeg lagt det ut på maskina mi:

http://84.202.99.208/

 

Ellers så er koden her:

Klikk for å se/fjerne innholdet nedenfor

<?php
$m = stripslashes($_GET['m']);
//sjekke  $m
if($m != '\\')
$mappe = $m;
//hente info til en tilbake knapp
$tilbake = dirname($m);
//sjekker om mappen finnes
if(@is_dir('./'.$mappe))
{
//Hvis mappen finnes så scanner man mappen etter filer og andre mapper 
$scan = @scandir('./'.$mappe);
//printer ut tilbake knappen
echo '<a style="color: #0000AA;" href="?m='.$tilbake.'">Ned et nivå</a><br>';
}
else
//hvis mappen ikke eksisterer så printer man ut en tilbake knapp med en beskjed om at mappen ikke finnes
echo '<a style="color: #0000AA;" href="?m='.$tilbake.'">Mappen finnes ikke lengre. Klikk her for å gå tilbake</a><br>';
//printe ut mapper i mappen
for($i = 2; $i < count($scan); $i++)
{
 if(is_dir('./'.$mappe.'/'.$scan[$i]))
 	echo '<a style="color: #444444;" href="?m='.$mappe.'/'.$scan[$i].'">'.$mappe.'/'.$scan[$i].'</a> '."<br>\n";
}
//printe ut filer i mappen
for($i = 2; $i < count($scan); $i++)
{
 if(!is_dir('./'.$mappe.'/'.$scan[$i]))
 	echo '<a style="color: #000000;" href="'.$mappe.'/'.$scan[$i].'">'.$mappe.'/'.$scan[$i].'</a> '."<br>\n";
}
?>

 

Kos dere

Lenke til kommentar

Heisann igjen :)

Vet ikke om noen husker da jeg postet et script for å rydde opp HTML kode, men nå har jeg utviklet den som en klasse og gjort _mange_ forbedringer.

Scriptet er postet hos phpclasses.org @ http://www.phpclasses.org/browse/package/3568.html.

Ta gjerne også en titt på mine to andre script som også kan være nyttige :)

 

PS: AlecTBM, kan ikke

//printe ut mapper i mappen
for($i = 2; $i < count($scan); $i++)
{
if(is_dir('./'.$mappe.'/'.$scan[$i]))
 echo '<a style="color: #444444;" href="?m='.$mappe.'/'.$scan[$i].'">'.$mappe.'/'.$scan[$i].'</a> '."<br>\n";
}
//printe ut filer i mappen
for($i = 2; $i < count($scan); $i++)
{
if(!is_dir('./'.$mappe.'/'.$scan[$i]))
 echo '<a style="color: #000000;" href="'.$mappe.'/'.$scan[$i].'">'.$mappe.'/'.$scan[$i].'</a> '."<br>\n";
}

skrives som:

//printe ut mapper i mappen
for($i = 2; $i < count($scan); $i++)
{
   if(is_dir('./'.$mappe.'/'.$scan[$i]))
   {
       echo '<a style="color: #444444;" href="?m='.$mappe.'/'.$scan[$i].'">'.$mappe.'/'.$scan[$i].'</a> '."<br />\n";
   }
   else
   {
       echo '<a style="color: #000000;" href="'.$mappe.'/'.$scan[$i].'">'.$mappe.'/'.$scan[$i].'</a> '."<br />\n";
   }
}

Og forresten, lær deg å bruke <br /> istedenfor <br> ;)

Endret av Jonhoo
Lenke til kommentar
  • 3 uker senere...

Det virker som om den tråden her har bikket litt over på xhtml.. :dontgetit:

så tenkte jeg skulle få den på rett spor ved å legge ut et php-include-script som inkluderer mange filer av en bestemt filtype i flere forskjellige undermapper...

 

Det er ikke jeg som i hovedsak har snekra dette scriptet, men jeg har gjort ymse endringer og lagt til flere kattegorier etc...

 

kommentarene bør ta selv den ferskeste nybegynneren igjennom en vellykket opplevelse :D

 

<?php

// 3-variabel PHP-Include-Script

// Konfigurasjon
$dir1  = "./content";  /* Mappen som alle filene i kattegori 1 ligger */
$dir2  = "./galleri";  /* Mappen som alle filene i kattegori 2 ligger */
$dir3  = "./files";    /* Mappen som alle filene i kattegori 3 ligger */
$mainpage	= "./content/hovedsiden.php";	
/* Siden som vil bli inkludert der ingen annen er oppgitt */

$fileext	= ".php";	/* Filutvidelsen for alle filene som skal inluderes.*/
$error404	= "<h3>Error 404</h3><p>Fant ikke siden!</p>";
$error301	= "<h3>Feil!</h3><p>Kan ikke inkludere siden.</p>";
/* Feilmelding som skal vises der siden ikke kan vises */

$cat1	= $_GET['id'];	/*http://www.dot.com/index.php?id=mypage */
$cat2	= $_GET['galleri'];
$cat3	= $_GET['download'];
// Slutt på konfigurasjonen

// Hvis cat1 er definert i adresselinjen:
if (isset($cat1)) {
$cat1 = stripslashes(strip_tags($cat1));
$forbidden1 = ereg("\.\./", $cat1);
$forbidden2 = ereg("/", $cat1);
$includepath= $dir1 . "/" . $cat1 . $fileext;

if ($forbidden1 || $forbidden2) {
 echo "$error301";
}
else {
 if (@fopen("$includepath", "r")) {
 	include ("$includepath");
 }
 else {
 	if (!(@fopen("$includepath", "r"))) {
   echo "$error404";
 	}
 }
}
}
// Hvis cat2 er definert i adresselinjen:
elseif (isset($cat2)) {
$cat2 = stripslashes(strip_tags($cat2));
$forbidden1 = ereg("\.\./", $cat2);
$forbidden2 = ereg("/", $cat2);
$includepath= $dir2 . "/" . $cat2 . $fileext;

if ($forbidden1 || $forbidden2) {
 echo "$error301";
}
else {
 if (@fopen("$includepath", "r")) {
 	include ("$includepath");
 }
 else {
 	if (!(@fopen("$includepath", "r"))) {
   echo "$error404";
 	}
 }
}
}
// Hvis cat3 er definert i adresselinjen:
elseif (isset($cat3)) {
$cat3 = stripslashes(strip_tags($cat3));
$forbidden1 = ereg("\.\./", $cat3);
$forbidden2 = ereg("/", $cat3);
$includepath= $dir3 . "/" . $cat3 . $fileext;

if ($forbidden1 || $forbidden2) {
 echo "$error301";
}
else {
 if (@fopen("$includepath", "r")) {
 	include ("$includepath");
 }
 else {
 	if (!(@fopen("$includepath", "r"))) {
   echo "$error404";
 	}
 }
}
}
// Hvis ingen kategori er definert i adresselinjen:
else {
include ("$mainpage");
}
?>

 

legg denne koden i index.php eller i den siden du vil inkludere sidene..

legg så deretter alle sidene du vil inkludere i de undermappene som er deklarert, i dette tilfellet:

 

./content

./galleri

./files

 

lykke til! Og håper dette scriptet vil hjelpe folk der ute :D :D

beklager dårlig språk/forklaring og alt det der :p

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...