Avatar billede masteraaen Novice
14. juni 2012 - 19:52 Der er 7 kommentarer og
1 løsning

mysql/php/jave - upload funktion - siden opdateres med det samme

Hej.

Jeg har brug for en funktion, der kan lade brugeren uploade en fil til et bibliotek på serveren. Det kan jeg fint få til at fungere md php.

Men jeg vil gerne have, at når der tastes "upload" fra brugeren, så skifter siden ikke videre, men brugeren bliver på siden, mens filen uploades. Herefter opdateres et felt på siden, hvor det fremgår, at filen er blevet uploadet..

Er der nogen, der kan hjælpe med en sådan smart funktion?
Avatar billede olsensweb.dk Ekspert
14. juni 2012 - 20:01 #1
Avatar billede masteraaen Novice
14. juni 2012 - 20:44 #2
Æv, jeg kan skisme ikke få det til at spille. Er der ikke een, der har et link til en side, hvor jeg kan se:

1. Hvilken kode skal jeg indsætte i <head> (function?)
2. Hvilken kode skal jeg indsætte i <body> (formen fx)
3. Skal jeg kreere en fil mere, og hvor lægges den/kaldes den?
4. Hvilken del af koden, skal jeg opdatere med egne biblioteksnavne osv., for at det i første omgang bare kan køre.
Avatar billede olebole Juniormester
14. juni 2012 - 21:23 #3
<ole>

Nej, men vi kan hjælpe dig med specifikke problemer. Hvad er det præcist, du ikke kan få til at spille? Hvad har du prøvet? Hvad skete der - og hvad skete der ikke?

/mvh
</bole>
Avatar billede masteraaen Novice
15. juni 2012 - 13:10 #4
Hej.

Jeg forsøger at benytte den løsning, der beskrives her:

http://www.ajaxf1.com/tutorial/ajax-file-upload-tutorial.html

Jeg har indsat følgende i <head>:
<!-- BEGIN FILE UPLOADER FUNCTION !-->   
<script language="javascript" type="text/javascript">

function startUpload(){
document.getElementById('f1_upload_process').style.visibility = 'visible';
return true;
}

function stopUpload(success){
var result = '';
if (success == 1){
document.getElementById('result').innerHTML =
'<span class="msg">The file was uploaded successfully!<\/span><br/><br/>';
}
else {
document.getElementById('result').innerHTML =
'<span class="emsg">There was an error during file upload!<\/span><br/><br/>';
}
document.getElementById('f1_upload_process').style.visibility = 'hidden';
return true;
}

</script> 
<!-- END FILE UPLOADER FUNCTION !-->


Følgende i <body>

<!-- BEGIN FILE UPLOAD -->
<p id="f1_upload_process">Loading...<br/><img src="../../img/loader.gif" /></p>
<p id="result"></p>
<form action="upload.php" method="post" enctype="multipart/form-data" target="upload_target" onsubmit="startUpload();" >
File: <input name="myfile" type="file" />
<input type="submit" name="submitBtn" value="Upload" />
</form>
<iframe id="upload_target" name="upload_target" src="uploads/" style="width:0;height:0;border:0px solid #fff;"></iframe>

<script language="javascript" type="text/javascript">
window.top.window.stopUpload(<?php echo $result; ?>);
</script>

<!-- END FILE UPLOAD -->



Følgende i min upload.php (ligger i samme folder)
<?php
$destination_path = getcwd().DIRECTORY_SEPARATOR;
$result = 0;

$target_path = $destination_path . basename( $_FILES['myfile']['name']);

if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) {
    $result = 1;
}

sleep(1);
?>

og slutteligt har jeg tilføjet følgende i min css:
/* START FORMAT UPLOAD FORM AND FUNCTIONALITY */
#f1_upload_process{
    z-index:100;
    position:absolute;
    visibility:hidden;
    text-align:center;
    width:400px;
    margin:0px;
    padding:0px;
    background-color:#fff;
    border:1px solid #ccc;
    }
   
form{
    text-align:center;
    width:390px;
    margin:0px;
    padding:5px;
    background-color:#fff;
    border:1px solid #ccc;
   
    }

/* END FORMAT UPLOAD FORM AND FUNCTIONALITY */

Status er; at formen kommer frem:
1. jeg kan vælge en fil og taste "upload". IE-statusbar ser ud som om, den hurtigt gør noget, men der ligger ingen fil, når jeg kontrollerer i biblioteket /uploads (i samme folder som php-siden med formen i).

Gif-filen med statusbar ved siden af formen er konstant synlig - allerede ved load af siden.

Jeg får en fejl om, at tegnet ) var ventet i linje 350 - det kan jeg ikke finde. Ved "vis kilde" er linje 350: window.top.window.stopUpload(Resource id #9);



Æv, hvor er det svært at få den til at spille..........
Avatar billede olebole Juniormester
15. juni 2012 - 13:52 #5
Prøv at lægge et link til eksemplet
Avatar billede masteraaen Novice
15. juni 2012 - 15:07 #6
Det kan jeg desværre ikke, da sitet ikke må offentliggøres endnu.... :-(
Avatar billede olebole Juniormester
15. juni 2012 - 15:13 #7
Hvis ikke du kan uploade et tilsvarende eksempel, kan jeg ikke hjælpe
Avatar billede masteraaen Novice
24. oktober 2012 - 20:21 #8
Jeg måtte ansætte en programmør - han kunne heldigvis finde ud af det :-)
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