Avatar billede ladefoged Nybegynder
05. december 2003 - 16:04 Der er 30 kommentarer og
1 løsning

Lidt ASP 2 PHP

Hej jeg har fundet en rigtig smart lille dims ( http://www.aspupload.com/xupload.html ) som kan uploade flere filere af en gang, men den er til asp og jeg skal bruge den i php, så kan det overhovedet lade sig gøre og kan jeg få nogle bud på en "oversættelse"

ASP koden ser således ud:
<%
    Set Upload = Server.CreateObject("Persits.Upload")
    Count = Upload.Save("c:\upload")

    Response.Write "Success! " & Count & " file(s) uploaded."
%>

Håber virklig der er nogen der kan hjælpe mig

M.v.h Nikolai Ladefoged
Avatar billede fangel Nybegynder
05. december 2003 - 16:16 #1
ikke helt så nemt - desværre !

du skal ud i en løkke der looper $_FILES arrayet i gennem og håndtere disse...

det er et lidt større arbejde - kig istedet på sukos' upload script på www.showsource.dk

Morten
Avatar billede ladefoged Nybegynder
05. december 2003 - 16:19 #2
Vil det sige det ikke kan lade sig gøre at lave det den lille snottede asp kode gør i php !!! kan det virklig passe :-(
Avatar billede fangel Nybegynder
05. december 2003 - 16:21 #3
ikke på samme måde - nej...

du skal lave noget kode der looper gennem de forskellige uploadede filer...

sidder og skriver engelsk stil - så hvis svar er lidt langsome - så er det derfor

Morten
Avatar billede ladefoged Nybegynder
05. december 2003 - 16:23 #4
Hmm findes der så ikke noget ligende den "ocx" fil bare til asp, for det jeg var ude efter var at man kunne vælge flere filere på en gang og ikke skulle vælge dem en efter en.
Avatar billede ladefoged Nybegynder
05. december 2003 - 16:24 #5
sluder, der skulle self have stået "fil bare til php" :-)
Avatar billede netsrac Praktikant
05. december 2003 - 16:26 #6
Dette er ikke testet, men et bud:

for ($i = 0; $i < sizeof($_FILES); $i++)
{
  if ($_FILES[$i] != "" && $_FILES[$i] != "none")
  {
    move_uploaded_file($_FILES[$i], "c:/upload/".$billede_name);
  }
}
Avatar billede ladefoged Nybegynder
05. december 2003 - 16:30 #7
netsrac >> Er meget godt men kan jeg sagtens selv lave, har kodet php de sidste 4 år

Mit problem er at jeg vil kunne vælge flere filer på en gang så jeg ikke skal vælge dem en af gangen som jeg jo bliver nødtil med dit eksempel.

Og det kunne http://www.aspupload.com/xupload.html så det var derfor jeg gerne ville have den til at virke med php
Avatar billede fangel Nybegynder
05. december 2003 - 16:32 #8
natsrac -> vil ikke virke - da de jo ikke hedder $_FILES[{1,2...n}] - men $_FILES['felt-navn']...

en foreach() vile kunne klare det !

foreach($_FILES AS $file){
  if(is_uploaded_file($file)){
    copy($file['tmp_name'], "/path/to/upload/dir/" . $file['name']);
  }
}
echo "Succes! " . count($_FILES) . " file(s) uploaded.";

men der bør lægges lidt mere i det end det...

Morten
Avatar billede netsrac Praktikant
05. december 2003 - 16:32 #9
Hvad?? Så har det da ikke en skid med den kode du viser ovenfor. Xupload er jo en activeX som poster flere filer til et script. Den kode jeg nævner den samme som den du selv nævner bare i PHP. Det du vil have er jo noget client side activeX så...
Avatar billede netsrac Praktikant
05. december 2003 - 16:34 #10
dea_pg >> Hvorfor ville det ikke virke ? $_FILES er da et array, så kan man vel også accesse det med 0,1,2....n
Avatar billede ladefoged Nybegynder
05. december 2003 - 16:34 #11
Oki så må du undskylde, så prøver jeg den lige
Avatar billede netsrac Praktikant
05. december 2003 - 16:37 #12
Faktisk ville du kunne bruge Xupload op imod et php script.

"What's the Difference between AspUpload and XUpload?"

AspUpload is a server component that resides on the web server. It captures, saves and processes file uploaded with an HTML form or other agent. XUpload is a client-side ActiveX control that provides features traditional form-based uploading does not, such as a progress bar or directory uploads. While AspUpload can be used without XUpload (if files are uploaded using an HTML form), XUpload requires AspUpload to capture uploaded files.
Avatar billede ladefoged Nybegynder
05. december 2003 - 16:43 #13
netsrac >> kan jeg ikke så et færdig eks. på hvordan køden skulle se ud for de to eksempler i er kommet med indtil vidre virker ikke, der kommer ikke nogen fejl og den skirver også godt nok hvor mange filer der er blevet "uploadet" men den uploader dem ikke
Avatar billede ladefoged Nybegynder
05. december 2003 - 16:51 #14
Kan lige oplyse jer om at begge forslag giver samme resultat, er jo nok fordi variablen er tomme, men hvilke variabler skal jeg så bruge ?? kan i gennemskue det

HTML dele ser således ud:

<HTML>
<HEAD>
<TITLE>XUpload: Simple.htm</TITLE>

<SCRIPT LANGUAGE="VBScript">
Sub ShowExpiration
    Expires.innerText = "Expires: " & UploadCtl.Expires
End Sub
</SCRIPT>

</HEAD>
<BODY BGCOLOR="#FFFFFF" OnLoad="ShowExpiration">

<!-- Demonstrates the simplest usage scenario -->

<h2>XUpload: Simple.htm</h2>
<h3>Invokes http://localhost/xupload/Simple.asp upload script</h3>

<OBJECT WIDTH=500 HEIGHT=200
    ID="UploadCtl"
    CLASSID="CLSID:E87F6C8E-16C0-11D3-BEF7-009027438003"
    CODEBASE="XUpload.ocx">
<!-- Required: Server and Script pointing to the location of upload script-->
<PARAM NAME="Server" VALUE="localhost">
<PARAM NAME="Script" VALUE="/multi_upload/upload.php">

</OBJECT>
<P>

<SPAN ID="Expires"></SPAN>

</BODY>
</HTML>
Avatar billede ladefoged Nybegynder
05. december 2003 - 17:30 #15
Vil i ikke hjælpe mere, har jeg sagt noget forkert ???
Avatar billede netsrac Praktikant
05. december 2003 - 17:32 #16
ladefoged >> Jo jo, sidder lige og tester og undres :-)
Avatar billede netsrac Praktikant
05. december 2003 - 18:03 #17
Hm...det var da mystisk... nu har jeg fået det til at virke med denne kode:

<html>

<head>
<title>Ny side 1</title>
</head>

<body>
<?
function addZero($tal)
{
    if ($tal < 10)
        return "00".$tal;
    else if ($tal < 100)
        return "0".$tal;
    else
        return $tal;
}

for ($i = 1; $i < sizeof($_FILES) + 1; $i++)
{
  if ($_FILES["FILE".addZero($i)]["name"] != "" && $_FILES["FILE".addZero($i)]["name"] != "none")
  {
    move_uploaded_file($_FILES["FILE".addZero($i)]["tmp_name"], realpath("tmp/")."/".$_FILES["FILE".addZero($i)]["name"]);
  }

}

print_r($_FILES);
?>
</body>

</html>

Prøv på http://www.cnh.dk/test/upload.htm
og find filerne i http://www.cnh.dk/test/tmp
Avatar billede fangel Nybegynder
05. december 2003 - 18:06 #18
virker ret ringe i Mozilla !

Morten
Avatar billede netsrac Praktikant
05. december 2003 - 18:08 #19
dea_pg >> PHP koden eller activeX´en ?
Avatar billede netsrac Praktikant
05. december 2003 - 18:09 #20
Glem det spm, det må jo være activeX´en *G*
Avatar billede fangel Nybegynder
05. december 2003 - 18:15 #21
ja ;)

en form ville derfor være mere vellidt ;)

Morten
Avatar billede ladefoged Nybegynder
05. december 2003 - 18:45 #22
netsrac >> Jeg ved slet ikke hvordan jeg skal takke dig, det virker jo mange mange mange mange mange tak

Kom med et svar og du skal få 100 point det har du sku fortjent :-)
Avatar billede tipsen Nybegynder
05. december 2003 - 18:48 #23
Ovenstående vil da aldrig fungere i andet end Windows med Internet Explorer ?

Jeg tror ikke man finder en pæn standardløsning til upload af flere filer samtidig - vel at mærke ikke én hvor man kan vælge mange filer på én gang! Dette begrunder jeg med at det ikke er en del af http/html standarden, hvordan dette skal fungere, så det vil være fantastisk, hvis forskellige browserproducenter kan enes om en metode til dette.
Avatar billede netsrac Praktikant
05. december 2003 - 18:48 #24
Noget skal man jo fordrive en fredag aften med.. :-)
Avatar billede ladefoged Nybegynder
05. december 2003 - 18:50 #25
tipsen >> I mit tilfelde er det ligemeget fordi upload løsningen skal bruges til en admin funktion på en hjemmeside, så brugeren vil aldrig komme til at se den, og adminens ved jeg at alle opfylder kravene med Windows og Internet Explorer så det skulle ikke give nogle problemer
Avatar billede netsrac Praktikant
05. december 2003 - 18:51 #26
Hov, glemte at svare :-)

Tipsen >> Nu tror jeg heller ikke lige det er noget der skal anvendes på et "åbent" site, da man jo skal købe activeX´en til alle klienter.

og nej det vil aldrig fungere med browser som ikke kan afvikle activeX objekter, men det behøver det nødvendigvis heller ikke, da det sikkert skal bruges i et lukket system.
Avatar billede ladefoged Nybegynder
05. december 2003 - 18:53 #27
Takker endnu en gang
Avatar billede netsrac Praktikant
05. december 2003 - 18:54 #28
Så lidt :-)
Avatar billede ladefoged Nybegynder
05. december 2003 - 19:01 #29
Vis nogen skulle være intresseret så kom jeg lige forbi http://www.bilder.de/service/service/xupload.php den kan man hvis få lidt gode ideer fra
Avatar billede netsrac Praktikant
05. december 2003 - 19:04 #30
Det er vel i realiteten det samme den gør ?
Avatar billede ladefoged Nybegynder
05. december 2003 - 19:09 #31
Ja det skulle jeg mene, men i og med at jeg skal bruge den til at uploade billeder med, er det jo smart at den viser et lille billede ved siden af, så det vil jeg lige lege lidt med
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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