Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > PHP/MySQL

PHP/MySQL Alles rund um die Programmiersprache PHP sowie MySQL.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26895, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3323, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 302, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7639, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 19, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 21, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 55, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 144, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 69, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50941, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06.01.2008, 18:36   #1 (Direktlink)
Stammuser
 
Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
Standard .php wegschneiden

Hi Leute, ich schon wieder
ich habe ein Suchscript, das läuft ganz hervorragend, allerdings gibt es mir jede Seite der HP, in der das gesuchte Wort vorkommt, als xxx.php aus. Diese wird dann mit <...href="$file"...> aufgerufen. Da ich aber meine Seiten mit index.php?site=xxx einfüge, kommt hier ein Problem auf, da index.php?site=xxx.php nicht geht.
Kann ich also das .php von der Variablen $file irgendwie wegschneiden?
__________________
mFg
K. R. Eyden
K. R. Eyden ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 06.01.2008, 19:44   #2 (Direktlink)
Dauergast
 
Registriert seit: 04.07.2004
Ort: Leipzig
Beiträge: 1.085
Standard

Die einfachste Möglichkeit wäre, wenn du das Suchscript selbst entsprechend anpasst. Da du dessen Code nicht gepostet hast kann ich dazu auch nichts genaueres sagen.

Eine andere Möglichkeit wäre htaccess, wobei ich davon aber in dem Fall abraten würde, da du sicher auch mal normale ".php"-Dateien aufrufen willst.
Zwirni ist offline   Mit Zitat antworten
Alt 06.01.2008, 20:35   #3 (Direktlink)
Stammuser
 
Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
Standard

Code:
//Welcher Dateityp soll durchsucht werden?
$dateityp = ".php"; //= alle HTML-Dateien (.htm, .html, .shtml)
//Wenn alternativ PHP-Dateien durchsucht werden sollen, geben Sie unter $dateityp .php ein.
if(empty($search)) {$search=$_POST[search];}
if(strlen($search) < "3")
{echo "der suchbegriff muss eine mindestlänge von 3 buchstaben haben.";exit;}
$found = "0";
$verz = opendir('.');
while($file = readdir($verz)) 
{  
if($file != "." && $file != ".." &&  !is_dir($file)) 
{
$filetype = stristr($file, $dateityp);
if(!empty($filetype))
{
$string = file_get_contents($file);
$string = html_entity_decode($string);
$string = strtolower($string);
$search = strtolower($search);
$test = substr_count($string, $search);
if(!empty($test))
{
$string = ereg_replace("\n", "", $string); 
$string = strip_tags($string);

$pieces = explode($search, $string);
$piece1 = substr($pieces[0], -50);
$piece1 = explode(" ", $piece1);
array_shift($piece1); 
$piece1 = implode(" ", $piece1);
$piece2 = substr($pieces[1], 0, 100);
$piece2 = explode(" ", $piece2);
array_pop($piece2); 
$piece2 = implode(" ", $piece2);
$rest = "$piece1$search$piece2";
$array .= "<u>fundstelle mit $test treffer</u>
$rest 
<a href=index.php?site=".$file."> >> $file </a>

\n";
$found ++;	
}}}}
closedir($verz);
if($found != "0")
{
echo "es wurden $found treffer gefunden, sortiert nach der häufigkeit des suchbegriffs:

"; 
$array = explode("\n", $array);
natsort($array);
reset($array);
$array = array_reverse($array);
while(list($line_num, $line) = each($array)) 
{
$ausgabe .= "$line\n";
}
print $ausgabe;
}
if($found == "0")
{ echo "es wurden leider keine übereinstimmungen mit dem eingegebenen suchbegriff gefunden!
<a href=\"index.php\">zur startseite</a>";}
das copyright hab ich mal weggelassen, ist von artmedic
__________________
mFg
K. R. Eyden
K. R. Eyden ist offline   Mit Zitat antworten
Alt 07.01.2008, 00:02   #4 (Direktlink)
War schon mal da
 
Benutzerbild von murray_de_luxe
 
Registriert seit: 19.02.2007
Beiträge: 38
Standard

Code:
$_tmp = explode(".",$file)
$_extension = $_tmp(sizeof($_tmp)-1)
$_filename = join("",$_tmp)
Moin, ich hab das mit Absicht so gelöst, da es ja sein kann das auch Dateien im Format 123.inc.php vorliegen könnten
somit würde dann im filename 123.inc stehen und in extenstion halt das php. Wenn Du natürlich genau weisst das die DAteien NUR im Format xyz.php vorliegen dann kannst du natürlich auch das dann getrost so schreiben:
Code:
$_tmp = explode(".",$file)
$_extension = $_tmp(sizeof($_tmp)-1)
$_filename = $_tmp[0]
Gäbe natürlich noch andere Lösungen.
Kleiner Tipp: am besten dieses in eine eigene function coden dann kannst du da öfter drauf zugreifen bzw. verwenden.
Liebe Grüsse.[/code]
murray_de_luxe ist offline   Mit Zitat antworten
Alt 07.01.2008, 10:10   #5 (Direktlink)
Stammuser
 
Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
Standard

äh, ok also verstanden habe ich deinen Code schonmal...aber wo genau soll ich das jetzt einfügen oO
weil das sind ja völlig neue Variablen, da muss ich doch ne Reihenfolge einhalten oder oO
__________________
mFg
K. R. Eyden
K. R. Eyden ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 07.01.2008, 16:45   #6 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Genesis
 
Registriert seit: 18.07.2004
Ort: Schwabenländle
Beiträge: 922
Standard

Ich weiß nicht, aber würde es nicht reichen, einfach ".php" und ".inc.php" durch "" zu ersetzen?

Im Sinne von

Code:
$query = str_replace(".inc.php", "", $query);
$query = str_replace(".php", "", $query);
Grüße
Genesis
Genesis ist offline   Mit Zitat antworten
Alt 07.01.2008, 19:38   #7 (Direktlink)
War schon mal da
 
Benutzerbild von murray_de_luxe
 
Registriert seit: 19.02.2007
Beiträge: 38
Standard

Hi am besten fügst du das hier zwischen ein und tauscht einmal $file aus
Code:
$rest = "$piece1$search$piece2"; 

//hier
$_tmp = explode(".",$file) 
$_extension = $_tmp(sizeof($_tmp)-1) 
$_filename = join("",$_tmp) 

$array .= "<u>fundstelle mit $test treffer</u>
$rest 
<a href=index.php?site=".$_filename."> >> $file
@Genesis
Dein Einwand bzw. die Frage ist berechtigt. Nur gehe ich generell immer davon aus, das der Dateiname vorher nicht bekannt ist, Bsp:
yst.php
yst.inc.php
yst.inc.2.old.mal.bak.php
wenn dir die dateinamen bekannt bzw. geläufig sind, kannst du das durchaus mit deiner Lösung auch lösen, nur bei z.B. 120 Dateien hast du sehr viel sourcecode getippelt und somit wird das script irgendwan sehr lastig. Wie gesagt sonst gehts natürlich auch, nur ich geh immer wie gesagt davon aus die ermittelten Dateinamen nicht bekannt sind und somit ermittel ich generell die extension und der rest ist dateiname. Was natürlich durchaus weiterverarbeitet werden kann. Z.B. da die Extension bekannt ist könnte man nun z.B. auch ne sicherheitsabfrage machen wenn man z.B. wirklich NUR Dateien mit der Endung PHP ausgeben lassen will, es kann ja sein das sich auch andere Dateiformate im Dir befinden. Das könntest du nun ganz einfach mittels z.B. if(strtolower($extension) = "php")
usw usw.
murray_de_luxe ist offline   Mit Zitat antworten
Alt 07.01.2008, 20:02   #8 (Direktlink)
War schon mal da
 
Benutzerbild von murray_de_luxe
 
Registriert seit: 19.02.2007
Beiträge: 38
Standard

Huch @K.R.Eyden
bei mir hat sich da ein kleiner Fehlerteufel eingeschlichen, beim letzten part ist was nicht i.O. Ich bitte um Sorry. Hab dafür dir das ganze mal korrekt als Function geschrieben, dann kannst das öfter mal verwenden.

füge diese am besten ganz oben ein:
Code:
function splitFilePath($filename,$return = "")
{
	//wenn filename != "" und im filename mindestens 1 mal ein Punkt vorkommt
	if(strlen($filename) > 0 && strstr($filename,"."))
	{
		$_temp = explode(".",$filename);
		$_tmp = array(
			"fullname" => $filename,
			"fullasarray" => $_temp,
			"extension" => array_pop($_temp),
			"filename" => array_shift($_temp),
			"anotherparts" => join(",",$_temp),
			"anotherpartsasarray" => $_temp
		);
		if (strlen($return) > 0)
		{
			if (isset($_tmp[$return]))
				return $_tmp[$return];
			else
				return NULL;
		}
		return $_tmp;
	}
	return NULL;
}
aufrufen und z.B. nur den Dateiname zu erfassen kannst du dann einfach mittels splitFilePath("name.inc.bla.suelz.php","filename")
Hier das ganze nochmal anhand deines codes:
Code:
//HIER DIE FUNKTION EINFÜGEN!

//Welcher Dateityp soll durchsucht werden? 
$dateityp = ".php"; //= alle HTML-Dateien (.htm, .html, .shtml) 
.....
//HIER WURDE AUSGETAUSCHT!
//$array .= "<u>fundstelle mit $test treffer</u>
$rest 
<a href=index.php?site=".$file."> >> $file </a>

\n"; 
$array .= "<u>fundstelle mit $test treffer</u>
$rest 
<a href=index.php?site=".splitFilePath($file,"filename")."> >> $file </a>

\n";
Ich hoffe ich hab da jetzt nicht wieder was vergessen bzw. übersehen.
murray_de_luxe ist offline   Mit Zitat antworten
Alt 07.01.2008, 20:19   #9 (Direktlink)
Stammuser
 
Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
Standard


ha es geht...mann ich packs nich mein F5-Knopf is schon ganz abgenutzt

Dir vielen vielen tausend Dank murray_de_luxe...
jetzt kann ich wieder ruhig schlafen^^

//Edit: aber was mich mal intressiern würd: bei deinem vorigen code die variable $_extension war doch völlig unnützlich oder? wurde ja nirgends mehr gebraucht...
__________________
mFg
K. R. Eyden
K. R. Eyden ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > PHP/MySQL

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 02:57 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2