Keressünk egy adott karaktert fájlokban | | #strpos |
Keressünk egy adott karaktert, egy mappában lévő fájlokban, és ha úgy állítjuk be, akkor a fájlnevekben is.
Készítettem egy formot amibe beírható a keresett karakter, megadhatjuk,
hogy csak fájlokban vagy fájl nevekben is keressen-e. Megadható, hogy a
kis és nagy betűk egyenrangúak legyenek.
A kódot tartalmazólap mellett legyen egy 'mappa'-nevű mappa, és abba
tegyük a fájlokat. Lehetnek JPG és más olyan fájlok, amik szöveget
tartalmaznak.
A talált szavak kiíródnak | karakterrel elválasztva.
<?php
function hasonlit($miben, $mit){
//Nézzük meg kérték-e a kis és nagybetű egyenrangját?
if(isset($_POST["upper"])){
$miben = strtoupper($miben);
$mit = strtoupper($mit);
}
$result = strpos($miben,$mit);
return $result;
}
function tartalom($mappa,$fajl, $mitKeresek){
$talaltArray = array();
$string = "";
$array = array();
$tomb = file($mappa.$fajl);
foreach($tomb as $a){
$array = explode(" ",$a); //Lebontjuk a tartalmat
foreach($array as $b){
if(hasonlit($b,$mitKeresek) > -1){
// Benne van-e a keresett karakter
//Ha benne van akkor berakjuk a tömbbe
$talaltArray[] = $b;
}
}
}
foreach($talaltArray as $l){ //Sztringgé füzzük
$string .= $l." | ";
}
return $string; //Küldjük a tömbböt
}
function fileListazas($mitKeresek){
$talalt = "";
//Mappa választó
$k_nev = "mappa/";
if (is_dir($k_nev)) {
if ($k_azon = opendir($k_nev)) {
while (($fajl = readdir($k_azon)) !== false) {
if( $fajl !== "." && $fajl !==".."){
$fajlArray = explode(".",$fajl);
$kiterjesztes = $fajlArray[count($fajlArray)-1];
if(strtoupper($kiterjesztes) == "JPG" && isset($_POST["fajl"])){
//Ha kép, de kérték a fájlnevekben is a keresést
$csupaszFajlNev = substr($fajl,0,strrpos($fajl,"."));
if(hasonlit($csupaszFajlNev,$mitKeresek) > -1){
//Van-e a fájlnévben
$talalt .= $fajl." | ";
}
}
if(strtoupper($kiterjesztes) != "JPG"){
//Csak ha nem kép
$talalt .= tartalom($k_nev, $fajl, $mitKeresek);
if(isset($_POST["fajl"])){
//Ha kell a fájl névben is
//utolsó . karakter
$csupaszFajlNev = substr($fajl,0,strrpos($fajl,"."));
if(hasonlit($csupaszFajlNev,$mitKeresek) > -1){
//Van-e a fájlnévben
$talalt .= $fajl." | ";
}
}
}
}
}
closedir($k_azon);
if(trim($talalt) != ""){
print($talalt);
}else{
print("Nincs találat!");
}
}
}
} //function zár
if(isset($_POST["szoveg"]) && trim($_POST["szoveg"]) != ""){
fileListazas($_POST["szoveg"]); //Függvény hívása
}
?>
<hr/>
<form name="form1" method="post" action="index.php">
<label><input name="szoveg" type="text" value="" size="5" maxlength="1" /> </label>
Keresett betű <br/>
<label><input type="checkbox" name="fajl" value="checkbox" />Fájlnevekben is keressen</label><br/>
<label><input type="checkbox" name="upper" value="checkbox" />Kis és nagybetű nem számít</label>
<br/>
<input type="submit" name="Submit" value="Keresem" />
</form>
Kép feltöltése | | #kep_feltoltes |
<?php
if (isset($_POST['kepek'])){
$maxfilesize = 120000; // A maximum file méret => 204800 = 200kb
$filedir = 'upload'; //Itt megadhatjuk a mappa elérését, ahova mentjük a képet. 777 legyen a mappa attribútuma
$size = $_FILES['userfile']['size'];
$type = $_FILES['userfile']['type'];
//Engedélyezett kép formátumok
if (($type == "image/jpg") or ($type == "image/gif") or ($type == "image/jpeg") or ($type == "image/png")){
if($_FILES['userfile']['size'] < $maxfilesize) {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
if(!file_exists($filedir . '/' . basename($_FILES['userfile']['name']))){
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$filedir . '/'.basename($_FILES['userfile']['name']))){
print "<div style='color:#006600;'>A file feltöltése sikerült!</div>";
echo '<br/><img src="upload/'.$_FILES['userfile']['name'].'" alt="" border="1" /><br/>';
echo'A kép elérési útvonala: http://.domain neved/upload/'.$_FILES['userfile']['name'];
}
}else{
echo '<div style="color:#FF0000;">Ezen a néven már van kép tárolva!</div>';
}
}//is_uploaded
}else{
echo '<div style="color:#FF0000;">A kép mérete meghaladja a megengedett méretet!</div>';
}
}else{
echo '<div style="color:#FF0000;">A kép formátum nem megfelelő!</div>';
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Kép feltöltés</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<form enctype="multipart/form-data" action="index.php" method="post">
Kép feltöltése: <input name="userfile" type="file" />
<div align="center"><input type="submit" name="kepek" value="OK" /></div>
</form>
</body>
</html>
Oldal számozása | | #oldal_szamozas |
<?php
//Változók definiálása
$egy_oldal_max = 10;
require_once( 'connections/bolt.php');
function foot_linkek($link, $tomb_szama, $oldalankenti_db, $kezdes, $act_oldal){
//Változó definiálása
$kimenet = "";
$szam = 0;
if( ($kezdes + $oldalankenti_db) > $tomb_szama){
$max = $tomb_szama;
} else{
$max = ($kezdes + $oldalankenti_db)- 1;
}
$kimenet .= "<table class='oldal_szamozas' border='0' width='100%'>
<tr>
<td valign='top'>Megjelenítve <b>".$kezdes. "</b> től <b>".$max."</b> -ig (összesen <b>".$tomb_szama. "</b> találatból)<td>
<td align='right'>";
// Az alsó kinálati sáv kiíratása
if ($tomb_szama > $oldalankenti_db) {
$k = $tomb_szama;
$kimenet .= "Talált oldalak: ";
for ($k; $k > 0; $k=$k-$oldalankenti_db) {
$szam=$szam+ 1;
if($szam == $act_oldal){ $kimenet .="<b>".$szam. "</b> ";
} else{
$kimenet .= '<a href="'.$link. 'oldal='.$szam. '" style="text-decoration: none;">'.$szam. ' </a>';
}
}
}
$kimenet .= '</td></tr></table>';
return $kimenet;
}
$sql = "SELECT COUNT(name) as db FROM nev_leiras WHERE language_id = '4' ";
$db = mysql_fetch_assoc( mysql_query($sql)); //Csak akkor használjuk így ha max egy eredmény lehet!
if( isset( $_GET[ "oldal"])){
$oldal = $_GET[ "oldal"];
} else{
$oldal = 1;
}
$limit = (($oldal*$egy_oldal_max)-$egy_oldal_max);
//Olvassuk ki a megjelenítendő szöveget
$sql = "SELECT name FROM nev_leiras WHERE language_id = '4' LIMIT ".$limit. ", ".$egy_oldal_max. " ";
$talalatok = mysql_query($sql) or die( "Hibás lekérdezés!");
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Oldal számozás </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<table border="0" style="background-color:#CCCCCC; padding:5px; border: 2px solid #234EF5; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; ">
<tr>
<td style="height:150px; width:480px; " valign="top"><?php
while($talalat = mysql_fetch_assoc($talalatok)){
echo $talalat[ "name"]. "<br/>";
}
?></td>
</tr>
<tr>
<td><?php echo foot_linkek( "index.php?", $db[ "db"],$egy_oldal_max, ($limit+ 1), $oldal ); ?></td>
</tr>
</table>
</body>
</html>
Próbáljuk ki
Keresés egy adott szövegrészletben | | #substr_count |
Szükségünk van néha, hogy egy szövegben, vagy file nevek közt megnézzük, tartalmazzák-e a mi általunk megadott betü kombinációkat. Erre alkalmas ez a kis függvény.
function keres($hol){
$keresem = array('.jpg','.gif'); //Itt soroljuk fel amit keresünk vesszővel elválasztva
$talalat = 0;
for($i=0; $i < count($keresem);$i++){
$szam = substr_count($hol,$keresem["$i"]);
if($szam > 0){
$talalat++;
}
}
return $talalat;
}
$szoveg = "Ebben benne van, hogy jpg"; //Itt adjuk meg azt amiben keresünk
if(keres($szoveg) > 0){
print("Van benne");
}else{
print("Nincs benne");
}
?>
A függvény egy számmal fog visszatérni.
Küldjünk sütit a felhasználó gépére. | | #setcookie |
<?php
$datum=getdate(); //Dátum előállítása
$_datum=$datum["year"]."-".$datum["month"]."-".$datum["mday"];
setcookie("proba_cookie","Az utolsó látogatás dátuma".$_datum,time()+86400);
?>
A time() függvény megadja a kezdő dátumot a cookie részére, ehhez adjunk hozzá másodpercben számolva annyit, amennyi idő múlva lejárjon a cookie.
Én 24 órára állítottam be , ha jól számoltam.
Mert 60x60x24=86400 másodperc.
A cookie első része a neve a második része opcionális, azt tárolsz benne amit szeretnél, a harmadik része pedig a lejárati idő.
Cookie törlése újra a setcookie függvény indításával, csak az időpont negatívval való futtatása.
setcookie("proba_cookie","Az utolsó látogatás dátuma",-86400);
A cookie csak ott olvasható ahol kiküldtük, tehát, ha éppen localhoston küldtük a böngészőnek, akkor a neten lévő oldalunkon nem olvashatjuk a tartalmát, és ha IE alatt indítottuk, akkor Firefox alatt szintén nem olvashatjuk.
A cookie-kat Internet Explorer esetén a következő mappában találod: C:\Documents and Settings\User\Cookies
A kiolvasás a következő módon történik:
print($_COOKIE["proba_cookie"]);
Nálam az eredmény: Az utolsó látogatás dátuma 2006-July-22
Megjelenítve 1 től 5 -ig (összesen 15 találatból) |
| Talált oldalak: 1 2 3 |
|
Könyv ajánlat |
|
|
Témák:
Ajánlott fórumok:
|