2017-05-08 4 views
3

Ich habe versucht, einen Fehler in das Suchformular hinzuzufügen, aber es funktioniert nicht, wenn Sie die Demo sehen möchten, gehen Sie auf Svapomc.com, bitte kann jemand mir helfen? Vielen DankFehler in das Suchformular eingeben

</html> 
<head> 
    <link href="cerca.css" rel="stylesheet" type="text/css"/> 
</head> 

<body> 
    <form action="" method="get"> 

    <input type="text" name="search" placeholder="Cerca la mappa da scaricare (può essere pure incompleto)"/> 
    <input type="submit" value="Cerca"/> 

    </form> 
<body> 

</html> 

<?php 
//--- get all the directories 
$search = $_GET["search"]; 
$dirname = 'maps'; 
$findme = "*.bz2"; 
$dirs = glob($dirname.'*', GLOB_ONLYDIR); 
$files = array(); 
//--- search through each folder for the file 
//--- append results to $files 
foreach($dirs as $d) { 
    $f = glob($d .'/'. $findme); 
    if(count($f)) { 
     $files = array_merge($files, $f); 
    } 
} 
if(count($files)) { 
    foreach($files as $f) { 
     if(strpos($f, $search) !== false and strpos($f, '.nav') === false and strpos($f, '.jpg') === false and strpos($f, '.txt') === false and strpos($f, '.jpe') === false or !isset($_GET["search"]) or $search == ""){ 
      $f1 = str_replace('maps/', '', $f); 
      $f1 = str_replace('.bz2', '', $f1); 
      $f1 = str_replace('.bsp', '', $f1); 
      echo "<div class='ciao'><p>{$f1} <a download href='{$f}'>Download</a></p></div><br>"; 
     } 
    } 
} else { 
    echo "<p>Error message here</p>"; 
} 
?> 

Dies ist der gesamte Code Ich denke, das Problem in der anderen ist, aber ich weiß nicht,

+0

Was funktioniert nicht? Du bekommst einen PHP-Fehler? Sie sehen das Bild nicht, wenn Sie sollten? Du bekommst den Downloadlink aber erwartest die Fehlermeldung? – Natrium

+0

Überprüfen Sie, was zählt. if (count ($ files)> 0) { –

+0

nein ich will die Fehlermeldung sehen, wenn ich auf send drücke und wenn die Datei nicht existiert sagt dir die Seite: die Datei existiert nicht oder so etwas – Lafa

Antwort

2

Vielleicht Dateien, die Sie haben, aber keine Übereinstimmung ...

$file_found = false; 
if(count($files)) { 
    foreach($files as $f) { 
     if(strpos($f, $search) !== false and strpos($f, '.nav') === false and strpos($f, '.jpg') === false and strpos($f, '.txt') === false and strpos($f, '.jpe') === false or !isset($_GET["search"]) or $search == ""){ 
      $f1 = str_replace('maps/', '', $f); 
      $f1 = str_replace('.bz2', '', $f1); 
      $f1 = str_replace('.bsp', '', $f1); 
      echo "<div class='ciao'><p>{$f1} <a download href='{$f}'>Download</a></p></div><br>"; 
      $file_found = true; 
     } 
    } 
} 

if(!$file_found){ 
    echo "<p>Non è stata trovata nessuna mappa con questo nome</p>"; 
    echo '<img src="yourimagehere.jpg"/>'; 
} 
+0

nein Es funktioniert nicht :(aber warten, ich bearbeite die Frage – Lafa

+1

Nein Entschuldigung es funktioniert, ich habe es versäumt, den Code zu kopieren, danke Dich sehr – Lafa