Gå til innhold

Laste opp fil til webserver.


Anbefalte innlegg

Jeg har forsøkt å få til å lage en siden som inneholder kun en "browse", "submit" og en "clear" knapp, som gjør at jeg kan laste opp en fil til webserveren. Dvs ikke bruke ftp. Den filen ønsker jeg at skal legge seg i mappen som websiden ligger i.

 

Har også forsøkt å lete i google og altavista, men har ikke funnet noe som har funket.

 

Spm 1. Må man ha pearl installert på webserveren for å få til noe slikt?

Spm2. Noen som kan gi meg en link til et sted kode for dette finnes? Eventuelt poste det her. Gjerne i PHP..

 

På forhånd takk! :)

Lenke til kommentar
Videoannonse
Annonse

Nei man må ikke ha støtte for cgi-pearl for å utføre dette. Et hviklet som helst server-side språk med respenkt for seg selv bør kunne takle dette. En guide i php ligger under php-delen av forumet. Tror tråden er satt som sticky. Du må lese noen poster nedover før du kommer til det

Lenke til kommentar

Vil bare nevne at Mozilla/Firebird har noe artig API innebygget, som faktisk kan skrives i javascript. XPCOM og XUL. Her klarte jeg nesten å lage en FTP uploader og filepicker (browse etter fil lokalt og laste opp). Problemet er dokumentasjon! Og at jeg måtte skrive uploader koden selv, noe jeg ikke gadd :thumbdown:

 

Men ja, det lureste er vel å bruke PHP e.l. serverside script som tarimot data fra et form. Dette form'et har da en input element av typen file. Husker ikke hvordan php koden bør se ut, du får ta et søk etter php file upload.

Lenke til kommentar

Jeg fant denne på php.no:

 

<?php

$storeDir = '/home/tyken/web/www.tyken.net/images/';

$maxFileSize = 100;//i KBytes

$contentTypes = array('image/jpeg', 'image/gif', 'image/png');

?>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title> :: php.no - Filopplasting</title>

</head>

<body>

<?php

//Hvis skjemaet er brukt

if(isset($_POST['submit'])) {

//Lagre fil variablene i enklere og mer forståelige navn

$filename = $_FILES['someFile']['name'];

$tempName = $_FILES['someFile']['tmp_name'];

$fileType = $_FILES['someFile']['type'];

$fileSize = $_FILES['someFile']['size'];

 

//Sjekk om ei fil med samme navn finnes fra før

// (Om du ønsker å overskrive evt. filer med samme navn, så fjernes denne linjen.)

if (!file_exists($storeDir.$filename)){

//Sjekk om filtypen finnes i tabellen som inneholder de godkjente file typene

if (in_array($fileType, $contentTypes)){

//Sjekk om filstørrelsen er for stor

if ($fileSize <= ($maxFileSize * 1024)){

//Flytt fila fra temp mappen til lagrings mappen

if (move_uploaded_file($tempName, $storeDir.$filename)){

print("<h1>Fil lagret</h1>Navn: $filename<br>Fil Type: $fileType<br> Størrelse: $fileSize bytes");

}

else print 'Filen kunne ikke flyttes.';

}

else print 'Filen er for stor.';

}

else print 'Ugyldig filtype.';

}

else print 'Filen finnes allerede.';

}

else {

?>

<h1>Filopplasting</h1>

<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">

Fil: <input name="someFile" type="file" />

<input type="submit" name="submit" value="Send Fil" />

</form>

<?

}

?>

</body>

</html>

 

 

 

Jeg ønsker å kunne laste opp alle slags filer, uten noen begrensninger. Hva forandrer jeg på, i teksten da? (regner med at det er i linje 4...). Jeg har forandret i php.ini fila slik at den godtar opp til 8MB filer. (Jeg har NULL peiling på php programmering!).

 

Noen som kan hjelpe?

takk :)

Endret av apachenerd
Lenke til kommentar

Hvis jeg fjerner:

if (in_array($fileType, $contentTypes)) {

får jeg denne meldingen:

Parse error: parse error, unexpected '}' in c:\www\index2\privomrade\uppe.php on line 40

 

Som sagt, har jeg NULL peiling på php koding...

takker for tips/råd/vink :)

 

EDIT:

Glem det.... jeg fikk det til med litt "prøv og feil".

Men på litt større filer får jeg bare timeout error:

Fatal error: Maximum execution time of 30 seconds exceeded in c:\www\index2\privomrade\uppe.php on line 2

Endret av apachenerd
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...