Quattro7 Skrevet 18. januar 2007 Del Skrevet 18. januar 2007 Hei. På denne uploaden, når du velger fil du vil laste opp, skal endelsen (.xx) på den fila du velger, blir del av det nye navnet, så hvis du velger "noe.gif", skal den bli "180107201400.gif" (tallet avhenger av dato og tid). og hvis filen du vil laste opp er "noe.jpg", blir det "180107201400.jpg". - Hvordan får jeg til det utifa det jeg har der nå, jeg har forsøkt litt, men det blir uten endelsen. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Noe.no; Uploader</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="stylesheet.css" rel="stylesheet" type="text/css"> </head> <body> <table width="100%" cellspacing="2" cellpadding="2" height="100%"> <tr> <td> <div align="center"> <table width="550" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#336699"> <tr> <td background="top.gif" height="60"><img src="head.gif" width="256" height="45"> </td> </tr> <tr> <td background="bg.gif"><table width="100%" cellpadding="5" cellspacing="5"> <tr> <td background="bg.gif"> <form name="formen" action="index.php" method="post" enctype="multipart/form-data"> <table width="100%" cellspacing="2" cellpadding="2"> <tr> <td width="180" background="bg.gif">Fil: </td> <td background="bg.gif"> <input type="file" name="bilde_fil"> </td> </tr> <tr> <td background="bg.gif"> </td> </tr> <tr> <input type="hidden" value="<?php echo date("dmy"); ?>" name="nyttnavn"> <input type="hidden" value="<?php echo date("his"); ?>" name="ending"> </td> </tr> <tr> <td width="180" background="bg.gif"></td> <td background="bg.gif"> </td> </tr> </table> <center><input type="submit" value="Last opp" name="submit"></center><br> <input type="hidden" name="MAX_FILE_SIZE" value="9999999999999999"> <?php #Config $path="uploaded"; //The file-path(remember the last '/') #Do not edit below :) if ($bilde_fil && $nyttnavn){ $ok = 1; if (is_file($path.$nyttnavn.$ending)){ print "<b>Feilmelding:</b>, filnavnet finnes allerede på serveren. Vennligst velg et annet navn.<br>"; $ok = 0; } if (preg_match("/^[\/\\\.]/", $nyttnavn)){ print "<b>File could not be transferred</b>, Filnavnet kan ikke starte med: '.', '/' or '\'"; $ok = 0; } print ""; } if ($ok){ $res = copy($bilde_fil, $path."/".$nyttnavn.$ending); print "<hr><br><b>Image successfully transferred</b>, du lastet opp dette bildet:<br><br><center><img src='$server/$stiup/uploaded/".$nyttnavn.$ending."'> <br><a href='$server/$stiup/uploaded/".$nyttnavn.$ending."'>".$nyttnavn.$ending."</a></center><br><br /><input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='[img=$server/$stiup/uploaded/".$nyttnavn.$ending."]'; border="0" width="89" alt="Image Hosted by ImageShack.us" /></a>' /><BR> IMG-tag for forum <br /><br><input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='$server/$stiindex/hotlink.php?img=".$nyttnavn.$ending."' /> </a><BR>Hotlink<br><br /> <input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='$server/$stiup/uploaded/".$nyttnavn.$ending."' /> <BR>Direkte link til bilde<br /><br /><!-- TF 728x90 JScript VAR NoAD code -->"; } else { print ""; print ""; } ?> </form> </td> </tr> </table> </td> </tr> <tr> <td height="37"> <table width="100%" cellspacing="0" cellpadding="0"> <tr> <td height="37" background="bottom.gif"> <div align="center"> Noe.no (2006) <br> </div> </td> </tr> </table> </td> </tr> </table> <p class="headcell"> </p> </div> </td> </tr> </table> </body> </html> Lenke til kommentar
sp33d3r_89 Skrevet 19. januar 2007 Del Skrevet 19. januar 2007 $new_filename = "test"; $oldfilename = $_FILES['name']; $get_ext = explode('.', $oldfilename); //Delere filnavnet på punktummen $new_name = $new_filename.".".$get_ext[1]; //vil gi test.jpg Lenke til kommentar
cronic Skrevet 20. januar 2007 Del Skrevet 20. januar 2007 Eller : $new_filename = "test"; $oldfilename = $_FILES['name']; $get_ext = substr(strrchr($oldfilename , "."), 1;) $new_name = $new_filename.".".$get_ext; //vil gi test.jpg Lenke til kommentar
Quattro7 Skrevet 21. januar 2007 Forfatter Del Skrevet 21. januar 2007 Sånn ser koden ut nå: <?php include "config.php"; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>noe.com; Uploader</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="stylesheet.css" rel="stylesheet" type="text/css"> </head> <body> <table width="100%" cellspacing="2" cellpadding="2" height="100%"> <tr> <td> <div align="center"> <table width="550" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#336699"> <tr> <td background="top.gif" height="60"><img src="head.gif" width="256" height="45"> </td> </tr> <tr> <td background="bg.gif"><table width="100%" cellpadding="5" cellspacing="5"> <tr> <td background="bg.gif"> <form name="formen" action="index.php" method="post" enctype="multipart/form-data"> <table width="100%" cellspacing="2" cellpadding="2"> <tr> <td width="180" background="bg.gif">Fil: </td> <td background="bg.gif"> <input type="file" name="bilde_fil"> </td> </tr> <tr> <td background="bg.gif"> </td> </tr> <tr> </td> </tr> <tr> <td width="180" background="bg.gif"></td> <td background="bg.gif"> </td> </tr> </table> <center><input type="submit" value="Last opp" name="submit"></center><br> <input type="hidden" name="MAX_FILE_SIZE" value="9999999999999999"> <?php #Config $path="uploaded"; //The file-path(remember the last '/') $new_filename = date("dmyhis"); $oldfilename = $_FILES['bilde_fil']; $get_ext = explode('.', $oldfilename); //Delere filnavnet på punktummen $new_name = $new_filename.".".$get_ext[1]; //vil gi test.jpg #Do not edit below :) if ($bilde_fil && $new_name){ $ok = 1; if (is_file($path.$nyttnavn.$ending)){ print "<b>Feilmelding:</b>, filnavnet finnes allerede på serveren. Vennligst velg et annet navn.<br>"; $ok = 0; } if (preg_match("/^[\/\\\.]/", $nyttnavn)){ print "<b>File could not be transferred</b>, Filnavnet kan ikke starte med: '.', '/' or '\'"; $ok = 0; } print ""; } if ($ok){ $res = copy($bilde_fil, $path."/".$new_name); print "<hr><br><b>Image successfully transferred</b>, du lastet opp dette bildet:<br><br><center><img src='$server/$stiup/uploaded/".$new_name."'> <br><a href='$server/$stiup/uploaded/".$new_name."'>".$new_name."</a></center><br><br /><input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='[img=$server/$stiup/uploaded/".$new_name."]'; border="0" width="89" alt="Image Hosted by noe.com" /></a>' /><BR> IMG-tag for forum <br /><br><input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='$server/$stiindex/hotlink.php?img=".$new_name."' /> </a><BR>Hotlink<br><br /> <input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='$server/$stiup/uploaded/".$new_name."' /> <BR>Direkte link til bilde<br /><br /><!-- TF 728x90 JScript VAR NoAD code -->"; } else { print ""; print ""; } ?> </form> </td> </tr> </table> </td> </tr> <tr> <td height="37"> <table width="100%" cellspacing="0" cellpadding="0"> <tr> <td height="37" background="bottom.gif"> <div align="center"> noe.com (2006) <br> </div> </td> </tr> </table> </td> </tr> </table> <p class="headcell"> </p> </div> </td> </tr> </table> </body> </html> Den laster opp, men uten filendelse. Så hvis jeg laster opp en fil som heter "test.jpg", blir det til "test." når den er lastet opp. Hvis jeg slenger dette inn i tillegg: <?php echo "Oldfilename: $oldfilename"; ?> ...blir resultatet "Oldfilename:" Lenke til kommentar
Quattro7 Skrevet 20. februar 2007 Forfatter Del Skrevet 20. februar 2007 (endret) Ingen som vet? Endret 20. februar 2007 av Quattro7 Lenke til kommentar
CruellaDeVille Skrevet 20. februar 2007 Del Skrevet 20. februar 2007 Ingen som vet? 7987629[/snapback] Hvis du skal strippe ut filendelse på en fil kan du bruke pathinfo, eks slik. <?php $yourfile = "minfil.txt"; $fileinfo = pathinfo($yourfile); $ext = $fileinfo['extension']; $base = basename($yourfile, ".$ext"); $new_name=time().".$ext"; print $new_name; ?> Lenke til kommentar
Runar Skrevet 20. februar 2007 Del Skrevet 20. februar 2007 Putt koden din i en spoilertag, Quattro7 Lenke til kommentar
Quattro7 Skrevet 20. februar 2007 Forfatter Del Skrevet 20. februar 2007 (endret) <?php include "config.php"; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>noe.no; Uploader</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="stylesheet.css" rel="stylesheet" type="text/css"> </head> <body> <table width="100%" cellspacing="2" cellpadding="2" height="100%"> <tr> <td> <div align="center"> <table width="550" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#336699"> <tr> <td background="top.gif" height="60"><img src="head.gif" width="256" height="45"> </td> </tr> <tr> <td background="bg.gif"><table width="100%" cellpadding="5" cellspacing="5"> <tr> <td background="bg.gif"> <form name="formen" action="index.php" method="post" enctype="multipart/form-data"> <table width="100%" cellspacing="2" cellpadding="2"> <tr> <td width="180" background="bg.gif">Fil: </td> <td background="bg.gif"> <INPUT TYPE="file" NAME="fil" /> </td> </tr> <tr> <td background="bg.gif"> </td> </tr> <tr> </td> </tr> <tr> <td width="180" background="bg.gif"></td> <td background="bg.gif"> </td> </tr> </table> <center><input type="submit" value="Last opp" name="submit"></center><br> <input type="hidden" name="MAX_FILE_SIZE" value="999999999999999999"> <?php #Config $path="uploaded"; //The file-path(remember the last '/') $yourfile = "$fil"; $fileinfo = pathinfo($yourfile); $ext = $fileinfo['extension']; $base = basename($yourfile, ".$ext"); $new_name=time().".$ext"; #Do not edit below :) if ($fil && $new_name){ $ok = 1; if (is_file($path.$new_name)){ print "<b>File could not be transferred</b>, filnavnet finnes allerede på serveren. Vennligst velg et annet navn.<br>"; $ok = 0; } if (preg_match("/^[\/\\\.]/", $new_name)){ print "<b>File could not be transferred</b>, filnavnet kan ikke starte med: '.', '/' or '\'"; $ok = 0; } print ""; } if ($ok){ $res = copy($fil, $path."/".$new_name); print "<hr><br><b>File successfully transferred</b>, du lastet opp denne filen:<br><br><center><img src='$server/$stiup/uploaded/".$new_name."'> <br><a href='$server/$stiup/uploaded/".$new_name."'>".$new_name."</a></center><br><br /><input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='[img=$server/$stiup/uploaded/".$new_name."]'; border="0" width="89" alt="Image Hosted by noe.no" /></a>' /><BR> IMG-tag for forum <br /><br><input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='$server/$stiindex/hotlink.php?img=".$new_name."' /> </a><BR>Hotlink<br><br /> <input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='$server/$stiup/uploaded/".$new_name."' /> <BR>Direkte link til bilde<br /><br /><!-- TF 728x90 JScript VAR NoAD code -->"; } else { print ""; print ""; } ?> </form> </td> </tr> </table> </td> </tr> <tr> <td height="37"> <table width="100%" cellspacing="0" cellpadding="0"> <tr> <td height="37" background="bottom.gif"> <div align="center"> noe.no (2007) <br> </div> </td> </tr> </table> </td> </tr> </table> <p class="headcell"> </p> </div> </td> </tr> </table> </body> </html> Funker fortsatt ikke. Når jeg echoer $fil etter upload får jeg dette: /var/tmp/php0wnn2q Endret 20. februar 2007 av Quattro7 Lenke til kommentar
CruellaDeVille Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 Funker fortsatt ikke. Når jeg echoer $fil etter upload får jeg dette: /var/tmp/php0wnn2q 7988981[/snapback] $_FILES er en array bestående av følgende info: size, type, tmp_name, name og error. Når du skal laste opp filer mellomlagrer phpparser den i en temporær mappe, spesifisert i tmp_name, denne tilsvarer stien til filen du skal laste opp. NÅr du skal hente ut filnavnet til den opprinnelige filen bruker du $_FILES['']['name']. Det er denne du skal trekke extension fra, ikke tmp-filen. Så la oss si jeg skal laste opp bilde_av_meg.jpg- Da ville jeg gjort noe slikt. Koden er ikke testet, men logikken skal iallfall være på plass. <?php // putter array $_FILES['fil'] i en ny array // Litt lettere å skrive enn $_FILES['fil']['name'] $file = $_FILES['fil']; // Henter ut det opprinnelige navnet på filen (bilde_av_meg.jpg) $file_name = $file['name']; // Henter ut tmp-sti til filen, typisk noe slikt som /var/tmp/hy2t71 $old_path = $file['tmp_name']; // Henter ut filinformasjon om den opprinnelige filen $file_info = pathinfo($file_name); // Henter ut filetternavn fra den opprinnelige filen $ext = $file_info['extension']; // Henter ut filnavn uten filetternavn $base = basename($file_name, ".$ext"); // Lager et nytt filnavn med unix timestamp som filnavn og riktig filetternavn $new_name=time().".$ext"; // Mappe hvor jeg vil lagre mine bilder $new_path = "myImagefolder/$new_name"; // Kopierer bilde if(!copy($old_path, $new_path)){ print "I/O Error. Unable to upload your file"; return; } print "Your file is successfully uploaded!"; ?> Og en ting til. Det er ikke nødvendig å ha med html-kode når du skal poste her med mindre html-koden er problemet ditt. Den er bare forvirrende og det er kjedelig å lese gjennom linje opp og linje ned med tables og br og stylesheet. Det som er viktig er der det skjer noe med php-ting Lenke til kommentar
CruellaDeVille Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 (endret) Og enda en ting til. Hvorfor har du satt max_upload_size til 999999999999999999? Er du klar over hvor mye det egentlig er? 200 000 = 200kb (omtrent) Endret 21. februar 2007 av CruellaDeVille Lenke til kommentar
Quattro8 Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 Og enda en ting til. Hvorfor har du satt max_upload_size til 999999999999999999? Er du klar over hvor mye det egentlig er? 200 000 = 200kb (omtrent) 7989328[/snapback] Det er fordi jeg vil kunne laste opp filer ubegrenset av størrelse. Lenke til kommentar
Quattro8 Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 (endret) <?php include "config.php"; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>noe.no; Uploader</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="stylesheet.css" rel="stylesheet" type="text/css"> </head> <body> <table width="100%" cellspacing="2" cellpadding="2" height="100%"> <tr> <td> <div align="center"> <table width="550" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#336699"> <tr> <td background="top.gif" height="60"><img src="head.gif" width="256" height="45"> </td> </tr> <tr> <td background="bg.gif"><table width="100%" cellpadding="5" cellspacing="5"> <tr> <td background="bg.gif"> <form name="formen" action="index.php" method="post" enctype="multipart/form-data"> <table width="100%" cellspacing="2" cellpadding="2"> <tr> <td width="180" background="bg.gif">Fil: </td> <td background="bg.gif"> <INPUT TYPE="file" NAME="fil" /> </td> </tr> <tr> <td background="bg.gif"> </td> </tr> <tr> </td> </tr> <tr> <td width="180" background="bg.gif"></td> <td background="bg.gif"> </td> </tr> </table> <center><input type="submit" value="Last opp" name="submit"></center><br> <input type="hidden" name="MAX_FILE_SIZE" value="999999999999999999999999999999999999999999999999"> <?php #Config $path="uploaded"; //The file-path(remember the last '/') $file = $_FILES['fil']; $file_name = $file['name']; $old_path = $file['tmp_name']; $file_info = pathinfo($file_name); $ext = $file_info['extension']; $base = basename($file_name, ".$ext"); $new_name=time().".$ext"; #Do not edit below :) if ($fil && $new_name){ $ok = 1; print ""; } if($ok != "1") { echo "<br><b>File could not be transferred</b><br>Filen du valgte finnes ikke, og kan derfor ikke lastes opp. Prøv igjen."; } if ($ok){ $res = copy($fil, $path."/".$new_name); print "<hr><br><b>File successfully transferred</b>, du lastet opp denne filen:<br><br><center><img src='$server/$stiup/uploaded/".$new_name."'> <br><a href='$server/$stiup/ uploaded/".$new_name."'>".$new_name."</a></center><br><br /><input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='[img]$server/$stiup/uploaded/". $new_name."[/img]'; border="0" width="89" alt="Image Hosted by noe.no" /></a>' /><BR> IMG-tag for forum <br /><br><input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='$server/$stiindex/hotlink.php?img=".$new_name."' /> </a><BR>Hotlink<br><br /> <input type='text' onClick='highlight(this);' style='width: 500px' size='70' value='$server/$stiup/uploaded/".$new_name."' /> <BR>Direkte link til bilde<br /><br /><!-- TF 728x90 JScript VAR NoAD code -->"; } else { print ""; print ""; } ?> </form> </td> </tr> </table> </td> </tr> <tr> <td height="37"> <table width="100%" cellspacing="0" cellpadding="0"> <tr> <td height="37" background="bottom.gif"> <div align="center"> noe.no (2007) <br> </div> </td> </tr> </table> </td> </tr> </table> <p class="headcell"> </p> </div> </td> </tr> </table> </body> </html> Denne funker, men jeg vil at, hvis filen som blir valgt, for eksempel, var på en diskett som ble tatt ut etter at filen som ligger på disketten ble valgt i uploaderen. Når det blir trykket på upload da, vil jeg at det skal komme en feilmelding. Rotete forklart Endret 21. februar 2007 av rossbach1 Lenke til kommentar
CruellaDeVille Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 (endret) Og enda en ting til. Hvorfor har du satt max_upload_size til 999999999999999999? Er du klar over hvor mye det egentlig er? 200 000 = 200kb (omtrent) 7989328[/snapback] Det er fordi jeg vil kunne laste opp filer ubegrenset av størrelse. 7993531[/snapback] Ja, det skjønner jeg - men å sette max_upload_size til 999999999999999999 bytes helt meningsløst, siden det tilsvarer 931322574.61548 gigabytes (abbreviated as G or GB), noe du aldri ville fått til å laste opp ved hjelp av php anyway (i php_ini er max_upload_size 8 eller 16mb) Se her for å se hvor mye 999999999999999999 bytes er i ulike måleenheter: http://www.t1shopper.com/cgi-bin/calculate.pl [edit] Lenken funket visst ikke, men her er copy/paste fra siden: A file size of 999999999999999999 bytes can also be expressed as8000000000000000000 bits 999999999999999999 bytes 976562500000000.000 kilobytes (abbreviated as KB or Kb*) 953674316406.2500 megabytes (abbreviated as M or MB) 931322574.61548 gigabytes (abbreviated as G or GB) 909494.701773 terabytes 888.1784197 petabytes 0.86736174 exabytes Endret 21. februar 2007 av CruellaDeVille Lenke til kommentar
The_Lozer Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 om jeg vil endre max upload size, hva skal jeg da endre i php.ini? post_max_size = 8M eller memory_limit = 8M eller begge? Lenke til kommentar
CruellaDeVille Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 om jeg vil endre max upload size, hva skal jeg da endre i php.ini? post_max_size = 8M eller memory_limit = 8M eller begge? 8002615[/snapback] Du kan endre i php.ini, eller du kan bruke ini_set. Men å sette max_upload_size til noen gb er dumt, for skript har også noe som heter max_execution_time. Jeg har 200 kb hos meg, det er i minste laget siden de fleste digitale bilder nå er mange mb. Jeg kan se for meg at de bruker input=hidden for max_size hvis den skal være under post_max_size/memory_limit. Lenke til kommentar
Ståle Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 Jeg trodde det var 2MB som var default upload limit. Men hvis du vil overføre store filer på nett, anbefaler jeg FTP. Da vil overføringen forsette hvis man tilfeldigvis lukker nettleseren. Lenke til kommentar
-morten Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 Denne funker, men jeg vil at, hvis filen som blir valgt, for eksempel, var på en diskett som ble tatt ut etter at filen som ligger på disketten ble valgt i uploaderen.Når det blir trykket på upload da, vil jeg at det skal komme en feilmelding. 7993673[/snapback] Det blir opp til nettleseren, og er ikke noe du kan gjøre hverken med php eller javascript. Lenke til kommentar
Runar Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 Jeg trodde det var 2MB som var default upload limit. 8002789[/snapback] Det kommer helt ann på serveren. Nå ser det ut som limiten på serveren jeg leier er satt til hele 32 Megabytes, mens memory_limit er hele 160 Megabytes. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå