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&nbsp;<b>".$tomb_szama."</b>&nbsp;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>&nbsp;";
                }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
Belépés


 

Könyv ajánlat
Php haladóknak
 

Kereső


 


Egyéb



125 névjegykártya – Tervezz egyszeruen online és nyomtass kiváló áron.
Libri

Valid XHTML 1.0 Transitional

Valid CSS!

[Valid RSS]

valid Atom 0.3




Spam védelem


Web-server