Permalänk
Medlem

[PHP] Filarkiv

Hejsan!
Jag undrar om någon har ett script som läser av innehållet i en specifik katalog och sedan visar innehållet.
Om jag laddar upp någonting via FTPn till den katalogen så visas det direkt av scriptet alltså.

om någon har ett sånt script

Skulle vara ännu bättre om någon hade ett som liknar det men man kan ladda upp saker dirket via ett admin script.

om någon även hade ett script med minilogga för olika filtyper så skulle det vara guld värt

Visa signatur

"Allt du säger skall vara sant, men du behöver inte säga allt som är sant" - Göran Persson

Permalänk
Medlem

Ta inte illa upp, men sök - det här har varit uppe flera gånger.
På forumet så finns bl a: http://forum.sweclockers.com/showthread.php?s=&threadid=51562...

Sökord: filarkiv, dump, filvisning, visa filer m.m.

Färdiga scripts kan nås på bl a: http://www.hotscripts.com/

Permalänk
Medlem

opendir

saxat:

$dir = "mapp"; if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo "filename: $file : filetype: " . filetype($dir . $file) . "\n"; } closedir($dh); }

Permalänk
Medlem

Hopplöst antar jag....
Eftersom jag redan har sökt så blir ju SÅKLART första kommentaren sök...

och agges dump script har jag testat men det är ju helt sepe, och jag kan ju inget om php så därför får man såklart en länk till ett script som är grunden på det jag vill ha men eftersom jag inte kan skriva klart koden så blir det ju problem...

och scripten på hotscripts.com är ju helt mysko för om man hittar ett som har dom funktioner man vill ha så är dom omöjliga att modda eftersom dom lägga all design lite här och var och drar include till både det ena och det andra så man tappar förståndet....

Då frågar jag igen, någon som har ett script som gör det jag vill och som skulle kunna vara grymt schysst och lägga upp länk eller nått

Visa signatur

"Allt du säger skall vara sant, men du behöver inte säga allt som är sant" - Göran Persson

Permalänk
Medlem

Tror det var m0rec som skrivit detta, iaf han som lade upp det tidigare vad jag kan minnas.
Det är simpelt och ser bra ut, vet inte om det är vad du söker dock.

Exempel: http://vikholm.se/pics/

bla.php

<?php // Some variable declarations $req = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI']; $url = $_SERVER['REQUEST_URI']; echo <<<HTML <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Vikholm.se: $url</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="http://www.vikholm.se/filelist/list.css" /> </head> <body> <div> HTML; // Function for converting bytes to correct unit function getfilesize($bytes) { switch ($bytes) { case $bytes >= pow(2, 40): $return = round($bytes / pow(1024, 4), 2); $suffix = 'TB'; break; case $bytes >= pow(2, 30): $return = round($bytes / pow(1024, 3), 2); $suffix = 'GB'; break; case $bytes >= pow(2, 20): $return = round($bytes / pow(1024, 2), 2); $suffix = 'MB'; break; case $bytes >= pow(2, 10): $return = round($bytes / pow(1024, 1), 2); $suffix = 'KB'; break; default: $return = $bytes; $suffix = 'Bytes'; break; } if ($return == 1) $return .= ' ' . $suffix; else { if ($suffix == 'Bytes') $return .= ' ' . $suffix; else $return .= ' ' . $suffix . 's'; } return $return; } echo "\t\t" . '<h1>Listar filer i: ' . $url . '</h1>' . "\n"; $handle = opendir($req); // Getting files from the current directory and inserting them into the "files"-array while (false !== ($file = readdir($handle))) { if ($file != '.' && $file != '..' && $file{0} != '.') { $filesize = getfilesize(filesize($req . $file)); if (is_dir($req . $file)) { $file = "\t\t\t\t" . '<td><a class="directory" href="' . $url . $file . '">' . $file . '/</a></td>' . "\n"; $file .= "\t\t\t\t" . '<td class="filesize">-</td>' . "\n"; } else if (is_file($req . $file)) { $file = "\t\t\t\t" . '<td><a href="' . $url . $file . '">' . $file . '</a></td>' . "\n"; $file .= "\t\t\t\t" . '<td class="filesize">' . $filesize . '</td>' . "\n"; } else if (is_link($req . $file)) { $file = "\t\t\t\t" . '<td><a href="' . $url . $file . '">@' . $file . '</a></td>' . "\n"; $file .= "\t\t\t\t" . '<td class="filesize">' . $filesize . '</td>' . "\n"; } else $file = ''; } $files[] = $file; } // Sorting the "files"-array sort($files); // Printing the start of the table echo "\t\t" . '<table>' . "\n"; echo "\t\t\t" . '<tr class="nohover">' . "\n"; echo "\t\t\t\t" . '<th class="left">Filename</th>' . "\n"; echo "\t\t\t\t" . '<th class="right">Size</th>' . "\n"; echo "\t\t\t" . '</tr>' . "\n"; preg_match('#(.*/)[^/]*/#', $url, $matches); $previous = 0; // If current-directory isn't the first subdirectory, print out the Parent directory link if ($matches[1] != '/') { $previous = 1; echo "\t\t\t" . '<tr>' . "\n"; echo "\t\t\t\t" . '<td><a class="directory" href="..">Parent directory</a></td>' . "\n"; echo "\t\t\t\t" . '<td class="filesize">-</td>' . "\n"; echo "\t\t\t" . '</tr>' . "\n"; } // Printing files $i = 0; foreach ($files as $file) { if ($file != '.' && $file != '..' && $file{0} != '.') { if ($previous) if ($i % 2) echo "\t\t\t" . '<tr class="roweven">' . "\n"; else echo "\t\t\t" . '<tr class="rowodd">' . "\n"; else if ($i % 2 == 0) echo "\t\t\t" . '<tr class="roweven">' . "\n"; else echo "\t\t\t" . '<tr class="rowodd">' . "\n"; echo $file; echo "\t\t\t" . '</tr>' . "\n"; } $i++; } echo "\t\t" . '</table>' . "\n"; closedir($handle); echo <<<HTML </div> </body> </html> HTML; ?>

CSS:

body { font: 10pt "Trebuchet MS", "bitstream vera sans", verdana, arial, helvetica, sans-serif; } a:link, a:visited, a:active { text-decoration: none; color: #0000ff; } a:hover { text-decoration: underline; color: #527aac; } table { width: 100%; border-spacing: 0; padding: 0; } th.left { text-align: left; } th.right { text-align: right; } th { border-bottom: 1px dotted #ccc; } td { height: 20px; } tr:hover { background: #eaeaea; } .directory { font-weight: bold; } .filesize { width: 100px; text-align: right; } .roweven { background: #fff; } .rowodd { background: #f0f0f0; } .nohover:hover { background: #fff; }

Visa signatur

Min signatur, inte din, MIN.
Bort med tassarna O.o

Permalänk
Medlem

säker på att det är rätt script?
får ett antal errors?

Visa signatur

"Allt du säger skall vara sant, men du behöver inte säga allt som är sant" - Göran Persson

Permalänk
Medlem

du måste ju skriva VAD för errors du får på dina olika skript. Inte bara, "Nej, det funka inte, nästa tack!"...

då kommer du aldrig lyckas i längden...

exakt vad var "sepe" med agges skript?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av urr
du måste ju skriva VAD för errors du får på dina olika skript. Inte bara, "Nej, det funka inte, nästa tack!"...

då kommer du aldrig lyckas i längden...

exakt vad var "sepe" med agges skript?

agges script funkar inte helt enkelt, gjorde precis som man skulle, inget funkar vet inte vad felet är men jag orkar inte med agges script nått mer...

Detta felet får jag med HyDrAns script:

Parse error: syntax error, unexpected T_SL, expecting ',' or ';' in h:\blablablablablalbla\blaalb\download.php on line 6

Visa signatur

"Allt du säger skall vara sant, men du behöver inte säga allt som är sant" - Göran Persson

Permalänk
Medlem

Om du är intresserad över mitt sätt att visa bilderna; http://mkeyd.net/hp/index.php?p=pics
Isf skulle jag kunna släppa koden till dig.

Visa signatur

+++++++[>++++++++++>+++++++++++++++<<-]>-.---------[>>++<<-]>>----.<-.---.>++++.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av iNi

Detta felet får jag med HyDrAns script:

Parse error: syntax error, unexpected T_SL, expecting ',' or ';' in h:\blablablablablalbla\blaalb\download.php on line 6

[/B]

Knepigt, scriptet fungerar alldeles utmärkt för mig. Har ersatt den vanliga opendir sidan med den under hela min domän.

Visa signatur

Min signatur, inte din, MIN.
Bort med tassarna O.o

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Ethex
Om du är intresserad över mitt sätt att visa bilderna; http://mkeyd.net/hp/index.php?p=pics
Isf skulle jag kunna släppa koden till dig.

det scriptet verkar väldigt bra, skulle vara grymt schssyt om du skulle kunna släppa koden till mig

Visa signatur

"Allt du säger skall vara sant, men du behöver inte säga allt som är sant" - Göran Persson

Permalänk
Medlem

Vad du behöver för att kunna använda skriptet till fullo då är PHP med GD inkompilerat. Vet inte om detta finns till Windows, så, förhoppningsvis kör du GNU/Linux

Vore bra om vi kunde konstatera att allting flyter på på din burk innan jag börjar ändra om i koden, måste ju finjustera den om den ska släppas

Visa signatur

+++++++[>++++++++++>+++++++++++++++<<-]>-.---------[>>++<<-]>>----.<-.---.>++++.

Permalänk
Medlem

Jag har loopia webbhotell, privat, windows och mysql, vet inte om det är "GD inkompilerat" kan ju hoppas att det funkar?

Visa signatur

"Allt du säger skall vara sant, men du behöver inte säga allt som är sant" - Göran Persson

Permalänk
Medlem

Du kan ju börja med att testa denna filen på ditt webhotell.
Funkar detta, så bör mitt skript fungera till fullo.

test.php

<?php header("Content-type: image/png"); $text="Funkar finfint!"; $width=imagefontwidth(4)*strlen($text); $height=imagefontheight(4); $img=imagecreatetruecolor($width, $height); $black=imagecolorallocate($img,0,0,0); $green=imagecolorallocate($img,0,255,0); imagefilledrectangle($img, 0,0,$width,$height,$black); imagestring($img, 4,0,0, $text, $green); imagepng($img); ?>

Den ska då generera något liknande detta: http://mkeyd.net/test.php

Visa signatur

+++++++[>++++++++++>+++++++++++++++<<-]>-.---------[>>++<<-]>>----.<-.---.>++++.

Permalänk
Medlem

hmm, funkar inte, aja tillbaka till ruta 1 då..

Visa signatur

"Allt du säger skall vara sant, men du behöver inte säga allt som är sant" - Göran Persson

Permalänk
Medlem

Så.. vad fick du för felmeddelanden, etc?

Visa signatur

+++++++[>++++++++++>+++++++++++++++<<-]>-.---------[>>++<<-]>>----.<-.---.>++++.

Permalänk
Medlem
Visa signatur

"Allt du säger skall vara sant, men du behöver inte säga allt som är sant" - Göran Persson

Permalänk
Medlem
Permalänk
Medlem

iNi: felet är följande:

<br /> <b>Fatal error</b>: Call to undefined function: imagefontwidth() in <b>h:\home\users\FA05-06-06-84_26hy6n6t73xhypkevgyp\fluffigast.com\public_html\test.php</b> on line <b>5</b><br />

Vet inte varför den klagar på den funktionen, men det är Windows som körs på maskinen ser jag. Kanske inte php har stöd för det där?
Vilken version är det av php? Och, om du får ut någon information om det, kanske du till och med kan få ut information av vilken version av GD som används?

testa att skriva <? phpinfo(); ?> i en fil och kolla resultatet där. Förhoppningsvis så har inte loopia spärrat denna funktion.

Visa signatur

+++++++[>++++++++++>+++++++++++++++<<-]>-.---------[>>++<<-]>>----.<-.---.>++++.

Permalänk
Medlem

Felet beror på att Loopia (vad jag vet och har läst) inte har GD inlagt på sina Windowskonton utan bara på sina Unixkonton.

http://support.loopia.se/index.php?_a=knowledgebase&_j=questi...

Citat:

Både UNIX och Windows erbjuder stöd för HTML- och de mest grundläggande hemsidefunktionerna. Det som skiljer dessa operativsystem åt är följande:

UNIX erbjuder stöd för CGI/Perl och utökade PHP-funktioner (bl.a. bildhantering genom GD).

Windows erbjuder stöd för ASP, ASP.NET och Frontpage-stöd (Frontpage servertillägg).

iNi: Det är sällan man hittar ett färdigt script som fungerar precis som man vill. Mitt råd är att du lär dig PHP och modifierar ett befintligt script eller att du skriver ett eget.

Permalänk

Re: [PHP] Filarkiv

Citat:

Ursprungligen inskrivet av iNi
Hejsan!
Jag undrar om någon har ett script som läser av innehållet i en specifik katalog och sedan visar innehållet.
Om jag laddar upp någonting via FTPn till den katalogen så visas det direkt av scriptet alltså.

om någon har ett sånt script

Skulle vara ännu bättre om någon hade ett som liknar det men man kan ladda upp saker dirket via ett admin script.

om någon även hade ett script med minilogga för olika filtyper så skulle det vara guld värt

Hej!

Kolla detta scriptet, använder det själv och tycker det fungerar kanon. Kanske inte riktigt vad du söker efter om jag förstår dig rätt.

http://www.phpxplorer.org

Mvh Magnus

Visa signatur

Unix brings the power.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Ethex
Vet inte varför den klagar på den funktionen, men det är Windows som körs på maskinen ser jag. Kanske inte php har stöd för det där?
Vilken version är det av php? Och, om du får ut någon information om det, kanske du till och med kan få ut information av vilken version av GD som används?

testa att skriva <? phpinfo(); ?> i en fil och kolla resultatet där. Förhoppningsvis så har inte loopia spärrat denna funktion.

sådär, nu byter loopia från windows till unix så om du fortfarande vill dela med dig av ditt filarkiv så skulle jag bli skit glad

ifconfig_up Tack det var snällt, ska kolla på det

Visa signatur

"Allt du säger skall vara sant, men du behöver inte säga allt som är sant" - Göran Persson

Permalänk
Medlem

Nu funkar det som de ska Ethex
http://www.fluffigast.com/test.php

EDIT:
verkar som domänen är lite knäpp nu när den måste rikats om, men aja, det funkar iaf:D

Visa signatur

"Allt du säger skall vara sant, men du behöver inte säga allt som är sant" - Göran Persson