Avatar billede webben Nybegynder
12. juni 2003 - 09:10 Der er 9 kommentarer og
1 løsning

Oversættelse fra Asp til Php

Jeg har lavet et asp script, meeeen funktionen skal også bruges i php, det har jeg dog hverken tid eller lyst lige nu til at lære php, så jeg eftersøger en som kan lave en direkte oversættelse af funktionen i scriptet. Jeg har kommenteret det lidt, så håber nogle kan hjælpe, er der nogle problemer, så bare spørg løs :D

Her er scriptet:

<%
'Vi starter med at definere vores variabler
folder = Server.Mappath("lydfiler")
tal = 0

'Her efter kalder vi filesystem object som vi skal bruge
'til at få listet filerne.
Set fso = CreateObject("Scripting.FileSystemObject")
Set filsystem = fso.GetFolder(folder)

'Vi laver et loop som kører indtil der ikke er flere filer.
Set fc = filsystem.Files
For Each filsystem in fc

'Her tager vi kun de filer som er mp3 filer.
if fso.GetExtensionName(filsystem) = "mp3" then
samletstring = samletstring+"" & fso.GetFileName(filsystem) & ","
end if

'Og loopet starter forfra
Next

'Her udskriver vi, så vi kan hente det ind i flash. bemærk dette tegn "&"
'skal stå forrest når man vil have det ind i flash
response.write "&files=" & samletstring & ""

%>
Avatar billede myplacedk Nybegynder
13. juni 2003 - 08:19 #1
Jeg prøver...

<%
//Vi starter med at definere vores variabler
$folder = "lydfiler"; // Hvad gør dette: Server.Mappath("lydfiler")
$tal = 0;
$samletstring = "";

//Her efter kalder vi filesystem object som vi skal bruge
//til at få listet filerne.
$fc = opendir($folder); // Gæt

//Vi laver et loop som kører indtil der ikke er flere filer.
while (($fso = readdir($fc)) !== false) {

  //Her tager vi kun de filer som er mp3 filer.
  if (!is_file($fso)) continue;
  if (!preg_match('/\.mp3$/i', $fso)) continue;

  $samletstring .= $fso.",";

//Og loopet starter forfra
}

#Her udskriver vi, så vi kan hente det ind i flash. bemærk dette tegn "&"
#skal stå forrest når man vil have det ind i flash
echo "&files=".samletstring;

?>
Avatar billede myplacedk Nybegynder
13. juni 2003 - 08:20 #2
Hov, skal starte med "<?php" og ikke "<%". ;-)
Avatar billede webben Nybegynder
13. juni 2003 - 08:51 #3
Takker, men har du prøvet at køre det? jeg får mange fejl, men aner som sagt intet om php... :(
Avatar billede myplacedk Nybegynder
13. juni 2003 - 09:02 #4
Nope. Hvad er den første fejl?
Avatar billede oz2kas Nybegynder
13. juni 2003 - 09:04 #5
Avatar billede webben Nybegynder
13. juni 2003 - 09:41 #6
indtil videre udskriver den bare "&files=samletstring" i browseren, jeg prøvede så at ændre denne string:

echo "&files=".samletstring;

til

echo "&files=".$samletstring;

fordi jeg troede du havde glemt det, nu udskriver den bare "&files=", hvilket er lidt underligt da der lægger nogle mp3 filer i den angivne mappe...?
Avatar billede myplacedk Nybegynder
13. juni 2003 - 09:50 #7
Din rettelse er korrekt, det ser ud til at den ikke finder nogen filer.

Prøv at rette dette:

while (($fso = readdir($fc)) !== false) {
  echo "Fil: $fso\n";
  //Her tager vi kun de filer som er mp3 filer.
  if (!is_file($fso)) {echo "ikke en fil\n"; continue;}
  if (!preg_match('/\.mp3$/i', $fso)) {echo "Hedder ikke .mp3\n"; continue;}
Avatar billede webben Nybegynder
13. juni 2003 - 09:59 #8
Nu skriver den noget :D hvis jeg så har 4 mp3'ere læggende i mappen, så udskriver den følgende:

Fil: . ikke en fil Fil: .. ikke en fil Fil: 1.mp3 ikke en fil Fil: 2.mp3 ikke en fil Fil: 3.mp3 ikke en fil Fil: 4.mp3 ikke en fil.

Hvad skal jeg ændre i loopet før den kun udskriver mp3 filerne og ikke "ikke en fil fil" osv. Selvom der kun lægger de 4 mp3 filer i mappen?
Avatar billede myplacedk Nybegynder
13. juni 2003 - 10:04 #9
Arh! Selvfølgelig, havde glemt en detalje om readdir(). :)

while (($filesystem = readdir($fc)) !== false) {
  $fso = $folder.'/'.$filesystem;
  echo "Fil: $fso\n";
  //Her tager vi kun de filer som er mp3 filer.
  if (!is_file($fso)) {echo "ikke en fil\n"; continue;}
  if (!preg_match('/\.mp3$/i', $fso)) {echo "Hedder ikke .mp3\n"; continue;}
Avatar billede webben Nybegynder
13. juni 2003 - 13:18 #10
Perfect, så fik jeg det til at du... :D Tak for hjælpen :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester