Avatar billede zeroxdk Nybegynder
05. oktober 2008 - 13:14 Der er 2 kommentarer

Hent billede fra URL + Multi-upload

Hej jeg har følgende script der kan uploade en fil af gangen, jeg ønsker at tilføje/ændre 2 ting ved det, jeg ønsker mulighed for at uploade flere end 1 fil (multi-upload) maks 3 filer, og så ønsker jeg mulighed for upload via URL. Jeg ønsker ved multi-upload at billederne kan vises på samme side (altså optil 3 uploadede billeder), ligesom det sker nu bare med det ene uploaded billede.

Nuværende PHP kode:
<?
if(isset($_GET['billede'])){
$img = $_GET['billede'];
if(!file_exists("$img")){
echo "<meta http-equiv='refresh' content='4; URL=index.php'>";
include("er1.html");
}
else{
include("comp.php");
}
}else{
if(isset($_POST['upload'])) {
$uploaddir = "$graffol";
$maxfilesize = $rozmiar_bt;
$filename = $_FILES['file']['name'];
$filename = strtolower($filename);
$filename = str_replace(" ","_",$filename);
$filesize = $_FILES['file']['size'];
$filetmpname = $_FILES['file']['tmp_name'];
$filetype = substr($filename, -4, 4);
@getimagesize($_FILES['file']['tmp_name']) or die(include("er3.html"));

if($filename) {
$error = 0;
if(($filesize > $maxfilesize) || ($filesize == 0)){
$error = 1;
include("er2.html");
}
else {
$time = time();
$filename_new = $time.$filename;
$upload = move_uploaded_file($filetmpname, "$uploaddir$filename_new");
if($upload) {
echo "<meta http-equiv='refresh' content='2; URL=?billede=$uploaddir$filename_new' />";
include("load.html");
}
else {
include("er3.html");
}
}
}else {
include("er4.html");
}
}
else{
?>

Jeg har allerede scriptet til at få et billede kopieret fra URL, men ka ik få det til at virke...:
// definer tilladte tiltyper
define('ALLOWED_FILENAMES', 'jpg|jpeg|gif|png');
// definer hvor det skal smides hen
define('IMAGE_DIR', '/path/to/image/dir');

// check against a regexp for an actual http url and for a valid filename, also extract that filename using a submatch (see PHP's regexp docs to understand this)
if(!preg_match('#^http://.*([^/]+\.('.ALLOWED_FILENAMES.'))$#', $_POST['img_url'], $m)) {
  die('Invalid url given');
}

// prøv at hente billedet
if(!$img = file_get_contents($_POST['img_url'])) {
  die('Getting that file failed');
}

// prøv at gemme billedet
if(!file_put_contents(IMAGE_DIR.'/'.$m[1], $img)) {
  die('Writing the file failed');


Så jeg mangler altså en ændring af mit nuværende script så det kan håndtere multiupload, og at "kopier billede fra URL" scriptet kommer til at virke, håber at i forstår...
Avatar billede zeroxdk Nybegynder
05. oktober 2008 - 13:21 #1
Her er min FORM; (hvis det kunne hjælpe):
<form enctype="multipart/form-data" action="index.php" method="post">
                                  <input name="file" size="30" type="file" />
<input name="upload" type="submit" class="asd" value="Upload" />
</form>
Avatar billede mcardle Nybegynder
06. oktober 2008 - 22:15 #2
Du kan ikke uploade flere billeder på samme tid. Du kan lave nogle usynlige <input type="file" /> og så indsætte flere, men det er ikke muligt at vælge flere filer i popupboksen. Du kan i .NET og du kan bygge noget i flash eller et input, hvor man vælger, hvor mange man vil uploade.

//mcardle
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