13. oktober 2004 - 13:46
Der er
47 kommentarer og 1 løsning
PHP script til dokumentsøgning
Jeg har en masse dokumenter (ca. 10000), der ligger i et dir + subdirs på Linux. Jeg vil gerne oprette links til dokumenterne fra en html/php side. Jeg har hørt at et php script kan gøre arbejdet med søgning og oprettelse af links for mig. Hvor finder jeg sådan et script ?
Annonceindlæg fra Cognizant
AI er ikke problemet. Eksekvering er.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Slettet bruger
13. oktober 2004 - 13:55
#1
Skal det være så du kan søge i indholdet, eller blot en hierakisk oversigt? (en lang liste med links)
13. oktober 2004 - 14:00
#2
en lang liste med links. Der er tale om ca. 50 kunder (med hvert deres dir) 500 varenumre (subdirs til kunder) 10000 filer/dokumenter Jeg skal kunne skelne hvert enkelt dir/subdir fra hinanden
13. oktober 2004 - 14:06
#3
Noget i den her retning. Du kan lige selv smide links ind. skulle være til at se. <?php function readsubdirs($dir, $subdirs) { if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if ($file != "." && $file != "..") { $spaces = ""; for ($i = 0; $i < $subdirs; $i++) { $spaces .= " "; } echo $spaces; if (is_dir($dir."/".$file)) { echo "-><font color='green'>$file</font><br>"; readsubdirs($dir."/".$file, $subdirs+1); } else { echo "$file ($dir)<br>"; } } } } closedir($dh); } } readsubdirs("mappenavn",0); ?>
14. oktober 2004 - 08:45
#4
Hej Jeg kan ikke rigtigt få det til at virke - og jeg ved INTET om php overhoved - kan du hjælpe mig (så sætter jeg lige lidt flere points på højkant)
14. oktober 2004 - 09:13
#5
<?php //Her skal du skrive mappen der skal udlæses fra $path = "sti/til/mappe"; function readsubdirs($dir, $subdirs) { if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if ($file != "." && $file != "..") { $spaces = ""; for ($i = 0; $i < $subdirs; $i++) { $spaces .= " "; } echo $spaces; if (is_dir($dir."/".$file)) { echo "-><font color='green'>$file</font><br>"; readsubdirs($dir."/".$file, $subdirs+1); } else { echo "<a href=\"".$dir."/".$file."\">".$dir."/".$file."</a><br>"; } } } } closedir($dh); } } readsubdirs($path,0); ?>
14. oktober 2004 - 09:22
#6
Sådan ??? - det virker ikke <?php //Her skal du skrive mappen der skal udlæses fra $path = "/billeder/"; function readsubdirs($dir, $subdirs) { if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if ($file != "." && $file != "..") { $spaces = ""; for ($i = 0; $i < $subdirs; $i++) { $spaces .= " "; } echo $spaces; if (is_dir($dir."/".$file)) { echo "-><font color='green'>$file</font><br>"; readsubdirs($dir."/".$file, $subdirs+1); } else { echo "<a href=\"".$dir."/".$file."\">".$dir."/".$file."</a><br>"; } } } } closedir($dh); } } readsubdirs($path,0); ?>
14. oktober 2004 - 09:23
#7
selve filerne ligger godtnok på en windowsmaskine
14. oktober 2004 - 09:25
#8
Øhh, du siger først at filerne ligger på en linux maskine, og nu ligger de på en windows maskine. Ligger filerne på samme maskine som webserveren kører på ?
14. oktober 2004 - 09:25
#9
Fre browseren har jeg lavet et link, der kalder scriptet. Scriptet ligger i "Dokumenter" dir. Der findes et subdir der hedder "billeder". I billeder ligger der 1 billede (bare for at teste)
14. oktober 2004 - 09:27
#10
Ligger filerne på klient maskinen ? Hvis ja, kan det ikke lade sig gøre med php, da det arbejder server-side
14. oktober 2004 - 09:27
#11
ja altså i går regnede jeg med at filerne ville blive lagt på en linux maskine - det bliver de senere. Lige nu ligger de på en win XP maskine - det gør scriptet også -gør det nogen forskel ?
14. oktober 2004 - 09:29
#12
Kan windows maskinen kører php ? Ligger filerne inden for webserverens rod ?
14. oktober 2004 - 09:30
#13
ved ikke ? - Det er ikke mig der har sat maskinen op
14. oktober 2004 - 09:31
#14
skal vi flytte det hele til linux maskinen - det er jo ikke den store opgave
14. oktober 2004 - 09:31
#15
Det blir du nødt til at finde ud af først
14. oktober 2004 - 09:51
#16
nu kører det på linuxmaskinen - og linux kører
14. oktober 2004 - 09:52
#17
men det virker stadig ikke
14. oktober 2004 - 09:52
#18
php kører var selvfølgelig det jeg mente
14. oktober 2004 - 09:57
#19
Mappen der skal ledes i, skal ligger under web roden. Hvis web roden er: /home/username/wwwroot/ Skal mappen fx. ligge i: /home/username/wwwroot/mappe/
14. oktober 2004 - 09:57
#20
nu får jeg denne besked: $file "; readsubdirs($dir."/".$file, $subdirs+1); } else { echo "$file ($dir) "; } } } } closedir($dh); } } readsubdirs("mappenavn",0); ?>
14. oktober 2004 - 09:58
#21
ok - det prøver jeg
14. oktober 2004 - 10:05
#22
den ligger i roden (siger min IT mand)
14. oktober 2004 - 10:06
#23
Så prøv uden / $path = "billeder"; Jeg har lige testet scriptet, og det virker perfekt her.
14. oktober 2004 - 10:12
#24
samme besked: $file "; readsubdirs($dir."/".$file, $subdirs+1); } else { echo "$file ($dir) "; } } } } closedir($dh); } } readsubdirs("mappenavn",0); ?> Hvad kan der være galt ?
14. oktober 2004 - 10:13
#25
Det ser ud til du ikke har kopieret det rigtigt ind
14. oktober 2004 - 10:20
#26
scriptet ?
14. oktober 2004 - 10:21
#27
Ja, den burde ikke udskrive scriptet på skærmen
14. oktober 2004 - 10:24
#28
jeg åbner filen i en browser - er det ok ?
14. oktober 2004 - 10:26
#29
Ja Prøv at lave en ny fil på webserveren, som kun indeholder: <?php phpinfo(); ?> Så skulle der gerne komme en masse informationer om serveren, opsætningen, hvis php virker
14. oktober 2004 - 10:26
#30
det ser meget rigtigt ud...
14. oktober 2004 - 10:28
#31
prøver
14. oktober 2004 - 10:31
#32
php ver 4.1.2 Og så en længere smøre bagefter - er der noget bestemt jeg skal kigge efter ?
14. oktober 2004 - 10:33
#33
Der er nogle ting der står disabled ved : - Virtual directoru support - Zend_debug - Thread safety
14. oktober 2004 - 10:35
#34
Så skal scriptet også virker. Kontroller lige at du kan har linierne fra <?php til ?>
14. oktober 2004 - 10:56
#35
består af 26 linier i alt både her og i det "virkelige script" jeg har bruge copy and paste - det burde være 100% identisk
14. oktober 2004 - 10:58
#36
nå - jeg må se på det igen i morgen
15. oktober 2004 - 08:22
#38
Den ligger på en lokal server - men jeg prøver lige at finde et sted at uploade den
15. oktober 2004 - 08:49
#39
http://www.zincks.dk/dir-test.php nu skete der noget - nu er vi vist tæt på - Den læser filer, men kun i 2 niveauer (læser ikke filer i subdirs til subdirs)
Sætter lige point op til 150
15. oktober 2004 - 09:09
#40
Det gør den så hos mig... Sikker på der er filer i de undermapper ?
18. oktober 2004 - 08:17
#41
Ja, der er filer i subdirs
18. oktober 2004 - 08:22
#42
NEJ - DER ER S.. DA INGEN FILER I DE DIRS - SORRY
18. oktober 2004 - 08:24
#43
Ok, virker det så nu ?
18. oktober 2004 - 08:28
#44
ha ha - så virker det sørme - hold kæft hvor sejt - mange mange tak - for hjælpen og ikke mindst for din store tålmodighed - Du har virkelig fortjent de 150 point + 50 point i bonus. Hit med et svar tzinck
18. oktober 2004 - 12:03
#45
Lige eet spm. mere :-) Det virker stadig ikke på den interne server - Betyder det noget at jeg kører php ver 4.1.2 ?
18. oktober 2004 - 12:15
#46
Prøv at udskifte: while (($file = readdir($dh)) !== false) { med: while ($file = readdir($dh)) {
22. oktober 2004 - 10:39
#48
ps - det virker forresten også internt nu :-)
Vi tilbyder markedets bedste kurser inden for webudvikling