Avatar billede danielks Nybegynder
06. januar 2003 - 21:13 Der er 32 kommentarer og
1 løsning

Upload

Jeg skal have lavet et upload script der kun kan uploade billedfiler og de må max fylde 30 kb....
Avatar billede c-lund Nybegynder
06. januar 2003 - 21:16 #1
læser lige med
Avatar billede c-lund Nybegynder
06. januar 2003 - 21:21 #2
prøv at hent disse filer. det var nogle jeg fandt, men jeg kan ikke få dem til at virke.
http://www.frozen-design.dk/aspupload.zip
Avatar billede c-lund Nybegynder
06. januar 2003 - 21:28 #3
hov, det var ikke asp du ville have.
sorry
Avatar billede xysto Nybegynder
06. januar 2003 - 21:31 #4
<form enctype="multipart/form-data" method="post" action="<? echo $PHP_SELF ?>">
Billede:<br>
<input type="File" name="billed" size="25">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="submit" name="submit" value="Tilføj">
</form>

if ($submit) {
copy($billed, $billed_name);
}
Avatar billede xysto Nybegynder
06. januar 2003 - 21:33 #5
Hvis du selv vil bestemme hvor den skal uploades så brug:

copy($billed, "dir/mappe/images/" . $billed_name);
Avatar billede sup Nybegynder
06. januar 2003 - 22:39 #6
her er et eksempel på hvordan det kan gøres.

http://hjem.get2net.dk/supscave/fileupload.zip

Sup
Avatar billede danielks Nybegynder
06. januar 2003 - 23:40 #7
sup> det er en MEGA lang kode... tager 100 år at redigere....

xysto> den du har lavet lukker da alle filer ind (ikke kun billeder)
Avatar billede xysto Nybegynder
07. januar 2003 - 15:00 #8
if ($submit) {

$allowedTypes = array("image/jpeg", "image/gif", "image/jpg");

if (in_array($_FILES['img']['type'],$allowedTypes)) {

copy($billed, $billed_name);
}
}
<form enctype="multipart/form-data" method="post" action="<? echo $PHP_SELF ?>">
Billede:<br>
<input type="File" name="billed" size="25">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="submit" name="submit" value="Tilføj">
</form>
Avatar billede danielks Nybegynder
10. januar 2003 - 17:59 #9
xysto> Ser godt ud men mangler en destination til filerne
Avatar billede danielks Nybegynder
10. januar 2003 - 18:07 #10
<?
include("./../us/head.inc");
if ($submit) {

$allowedTypes = array("image/jpeg", "image/gif", "image/jpg");

if (in_array($_FILES['img']['type'],$allowedTypes)) {

copy($billed, $billed_name);
}
}
?>
<form enctype="multipart/form-data" method="post" action="<? echo $PHP_SELF ?>">
Billede:<br>
<input type="File" name="billed" size="25">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="submit" name="submit" value="Tilføj">
</form>
Avatar billede xysto Nybegynder
11. januar 2003 - 02:39 #11
copy($billed, "mappe/mappe2/images/" . $billed_name);
Avatar billede xysto Nybegynder
11. januar 2003 - 02:39 #12
Det er godt nok lidt sent, men den skulle virke. Har da også fået en enkelt eller 2
Avatar billede danielks Nybegynder
11. januar 2003 - 12:18 #13
Hvis man ikke skriver en mappe ind skulle den så ikke komme ind i samme mappe som scriptet ???
Avatar billede xysto Nybegynder
11. januar 2003 - 12:20 #14
jo, lige nøjagtig
Avatar billede rzj Nybegynder
11. januar 2003 - 12:26 #15
her:
function upload_file() {
global $file, $file_name, $file_size;  //vars from form may be depricated
       
    $file_name = $_FILES['file']['name'];
        $file_size = $_FILES ['file']['size'];
        $file = $_FILES['file']['tmp_name'];
       
//Directory in which uploaded file will be placed temporaly
        $temp_dir = "/net/users/a37/699/basewebdk/phpupload/"; //Edit
        $dest = $temp_dir.$file_name;
       
//Array containing valid file types
        $formats = array('jpg'); //Add valid filetypes
       
//Definition of filename
        $file_name = stripslashes($file_name);

//Set max filesize
        $size = 30000; //approx

//Get filename and ext
        list($filename, $ext) = explode(".", $file_name);
        $ext = strtolower($ext);

//Define name of file when renamed
        $today = date("dmY-His");
       
        $file_name = utf8_encode($filename);
        $renamed = $today.".".$ext;
       
//Directory to place file ones uploaded (full path needed)
        $final_dir = "domain/www/images/";
       
   
      //Check if file has zero size
        if($file_size == 0){
            print("Filen er tom!");
        }
        //Check if file is above limit for file
        if($file_size > $size){
                  $file_size = round($file_size/1000, 0);
            $size_in_kb = $size/1000;
            print("Filen er for stor - $file_size KB! <br>
            Filen må højst fylde $size_in_kb KB.<br>\n
            Prøv evt. at gemme filen i et andet format eller gøre billedet mindre.");
        }
       
        //Check if file is uploaded via HTTP POST
        if(!is_uploaded_file($file)){
        print("Muligt 'crackattack' fra uploadet fil!");
        }
       
        //Check if filetype is  valid
        if(!in_array($ext, $formats)) {
          print("Forkert filtype. Det er kun muligt at uploade filer af filtypen *.jpg");
        }
       
        //Change attribute of file
        umask(0000);
       
        //Failed to move file on server or greenlight for "go"
        if(@!move_uploaded_file ($file, $temp_dir.$file_name)){
            unlink($final_dir.$file_name);
    print("Unable to move file");
        }
   
        //Try to rename file. Delete on failure
        if(@!rename($temp_dir.$file_name, $final_dir.$renamed)){
            unlink($temp_dir.$file_name);
    echo '<script type="text/javascript">uploadWin = window.open("uploadAlert.php?closeWin=2","uploadWin", "width=500, height=200");</script>';
            error("Kunne ikke omdøbe fil - prøv igen");
        }
        chmod($final_dir.$renamed, 0644);
Avatar billede rzj Nybegynder
11. januar 2003 - 12:29 #16
hov, fik submited for tidligt:
ret efter //Try to rename file. Delete on failure til:
//Try to rename file. Delete on failure
        if(@!rename($temp_dir.$file_name, $final_dir.$renamed)){
            unlink($temp_dir.$file_name);
    print("Kunne ikke omdøbe fil - prøv igen");
        }
        chmod($final_dir.$renamed, 0644);
}
Avatar billede rzj Nybegynder
11. januar 2003 - 12:30 #17
du kan også kigge her: http://www.eksperten.dk/spm/295891
men ? går også på at lave thumbnails.
/raz
Avatar billede danielks Nybegynder
11. januar 2003 - 12:48 #18
$temp_dir = "/net/users/a37/699/basewebdk/phpupload/"; //Edit

hvordan får jeg den til at starte i script mappen ??? sådan at man kun skal linke til undermapperne fra denne ?
Avatar billede danielks Nybegynder
11. januar 2003 - 12:50 #19
Og den skal heller ikke omdøbe filen så der står dato foran....
Avatar billede rzj Nybegynder
11. januar 2003 - 12:58 #20
To issues:
1. Jeg ved ikke helt præcist hvad du mener med script mappen? De fleste udbydere tillader kun at der uploades filer gennem php til en særlig dedikeret mappe. Det er $temp_dir. Så her skal du ændre stien til at pege på din mappe.
1a. Efter upload flyttes filen til $finale_dir, som du altså skal ændre til din "script mappe" eller der hvor du nu vil have filerne hen.
2. Ændre $rename til:
$rename = $_FILES['file']['name'];
Men hver opmærksom på at det kan være en god ide at give sine filer et unikt navn, da de ellers overskrives.
/raz
Avatar billede rzj Nybegynder
11. januar 2003 - 13:07 #21
kan ved eftersyn se at det sgu' gik lidt hurtigt med at lægge kode ind på eksperten. Jeg skulle nemlig lige rette lidt til, men kig på henvisning til ? ovenfor og brug det. Dog glem alt om thumbnail... ;-)
Sådan noget med upload er ret vanskeligt at give fornuftig hjælp til da det afhænger af udbyder, konfig af php mv.
Avatar billede danielks Nybegynder
11. januar 2003 - 13:23 #22
Jeg skal ikke have en tempdir da filerne ikke skal omdøbes...
Avatar billede danielks Nybegynder
11. januar 2003 - 14:06 #23
kan i ikke bare bygge videre på denne:

<?
include("./../us/head.inc");
if ($submit) {

$allowedTypes = array("image/jpeg", "image/gif", "image/jpg");

if (in_array($_FILES['img']['type'],$allowedTypes)) {

copy($billed, $billed_name);
}
}
?>
<form enctype="multipart/form-data" method="post" action="<? echo $PHP_SELF ?>">
Billede:<br>
<input type="File" name="billed" size="25">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="submit" name="submit" value="Tilføj">
</form>  <?
include("./../us/head.inc");
if ($submit) {

$allowedTypes = array("image/jpeg", "image/gif", "image/jpg");

if (in_array($_FILES['img']['type'],$allowedTypes)) {

copy($billed, $billed_name);
}
}
?>
<form enctype="multipart/form-data" method="post" action="<? echo $PHP_SELF ?>">
Billede:<br>
<input type="File" name="billed" size="25">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="submit" name="submit" value="Tilføj">
</form>

Jeg er ikke meget for at skulle bruge et "default" upload script da de tit indeholder en masse unødig kode...
Få bare den overstående til at virke istedet
Avatar billede xysto Nybegynder
11. januar 2003 - 15:14 #24
<?
include("./../us/head.inc");
if ($submit) {

$allowedTypes = array("image/jpeg", "image/gif", "image/jpg");

if (in_array($_FILES['img']['type'],$allowedTypes)) {

copy($billed, "mappe/mappe2/images/" . $billed_name);
}
}
?>
<form enctype="multipart/form-data" method="post" action="<? echo $PHP_SELF ?>">
Billede:<br>
<input type="File" name="billed" size="25">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="submit" name="submit" value="Tilføj">
</form>
Avatar billede danielks Nybegynder
11. januar 2003 - 15:26 #25
Ja det har jeg ligesom prøvet... det virker ikke

Hvis upload allerede ligger i en mappe (ikke root) skal det link der står i scriptet starte i den mappe upload.php ligger i...
Avatar billede danielks Nybegynder
11. januar 2003 - 15:30 #26
det jeg har lavet ser sådan ud:

<?
include("./../us/head.inc");
if ($submit) {

$allowedTypes = array("image/jpeg", "image/gif", "image/jpg");

if (in_array($_FILES['img']['type'],$allowedTypes)) {

copy($billed, "bs/" . $billed_name);
}
}
?>
<form enctype="multipart/form-data" method="post" action="<? echo $PHP_SELF ?>">
Billede:<br>
<input type="File" name="billed" size="25">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="submit" name="submit" value="Tilføj">
</form>

Og mappen bs ligger i samme mappe som upload.php, hvorfor virker det så ikke ?
Avatar billede danielks Nybegynder
16. januar 2003 - 17:07 #27
HALLO....
Avatar billede xysto Nybegynder
16. januar 2003 - 21:42 #28
Aner det ikke, det virker hos mig
Avatar billede danielks Nybegynder
16. januar 2003 - 22:41 #29
uploader den til undermappen bs ??? og hvordan kan jeg CHMOD'e bs mappen (hvis det er nødvendigt) fra IE's ftp browser ?
Avatar billede xysto Nybegynder
16. januar 2003 - 23:16 #30
Mappen skal CHMOD'es. Du kan bruge WS-ftp til dette.
Avatar billede danielks Nybegynder
28. januar 2003 - 19:07 #31
Jeg har nu CHMODDET bs mappen, men det virker stadig ikke....
Avatar billede danielks Nybegynder
29. januar 2003 - 11:55 #32
kontaktede supporten hos b-one som oplyste følgende:

  Hej Daniel

Har ingen anelse, dog yder vi heller ik support på programmering.

Du kan tjekke her om vi understøtter din bestemte upload metode.
http://developer.chilisoft.com/caspdoc/362docs/

Med venlig hilsen / Best Regards

SUPPORTEN
Avatar billede danielks Nybegynder
29. januar 2003 - 12:00 #33
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