Avatar billede Thedhc Nybegynder
02. juli 2010 - 00:20 Der er 13 kommentarer og
1 løsning

Foreach - Hjælp!

Hej folkens!

Jeg er i gang med at lave et uploading script i php,
men kan ik få filerne smidt ind i de mapper som er oprettet,
det er som om det er min foreach der fucker det op,
for jeg kan ikke udskrive de value's som den nu en gang har.
Så filerne ligger sig bare ind i min images mappe.

Håber i kan hjælpe, jeg takker på forhånd.

<?php
if($dir=@opendir('images')){
    while(($file=readdir($dir))!==FALSE){
        if($file=='..' || $file=='.') continue; $filelist[]=$file;
    }
    closedir($dir);
}

if(isset($_POST["Submit"])) {
    $mappe = $_POST[val];
    $folder = "images/". $mappe ."/";
      $billednavn = microtime() . $_FILES[billedfil][name];
    copy($_FILES[billedfil][tmp_name],$folder.$billednavn)or die("oh crap! not copied");
    echo "Done<br/>";
} else {
?>
<form action="" method="post" enctype="multipart/form-data" name="upload_form"> 
    Mappe:<br/>
    <select name="mappe">
    <?php foreach($filelist as $val){
        echo '<option value="',$val,'">',$val,'</option>'; }
    ?>
    </select>
    Vælg billede:  <br/>
    <input type="file" name="billedfil" />
    <input type="submit" name="Submit" value="Upload" /> 
</form>
<?
}
?>
Avatar billede majbom Novice
02. juli 2010 - 07:15 #1
du kalder din select med mappenavne for "mappe" men bruger variablen "$_POST['val']" i upload-koden, måske det er der det går galt? :)
Avatar billede ggxdg Nybegynder
02. juli 2010 - 09:30 #2
echo '<option value="',$val,'">',$val,'</option>'; }

echo '<option value="'.$val.'">'.$val.'</option>'; }
Avatar billede ggxdg Nybegynder
02. juli 2010 - 09:36 #3
Fik ikke lige beskrevet fejl ovenfor:
I første linie er der brugt kommaer, i anden linie er det rettet til punktummer.


$mappe = $_POST[val];
skal nok lige rettes til
$mappe = $_POST['val'];
Avatar billede Springform Nybegynder
02. juli 2010 - 09:39 #4
Har du husket at sætte rettighederne på mappen til at man gerne må skrive til mappen?

Og så mener jeg også at man skal give hele server stien til mappen når der skal uploades filer

fx.
$folder ="/hsphere/local/home/user/webpage/images/". $mappe ."/";

Den kan du finde med en phpinfo();
Avatar billede Springform Nybegynder
02. juli 2010 - 09:40 #5
sorry, fik vist ikke læst den sidste linie at filen faktisk blev uploaded
Avatar billede ggxdg Nybegynder
02. juli 2010 - 09:46 #6
$billednavn = microtime() . $_FILES[billedfil][name];
$billednavn = microtime() . $_FILES['billedfil']['name'];

copy($_FILES[billedfil][tmp_name],$folder.$billednavn)or die("oh crap! not copied");
copy($_FILES['billedfil']['tmp_name'],$folder.$billednavn)or die("oh crap! not copied");

:P
Avatar billede ggxdg Nybegynder
02. juli 2010 - 09:53 #7
Hov ja...
Som Splazz siger, skal
$mappe = $_POST['val'];
nok lige rettes endnu mere :P
Avatar billede majbom Novice
02. juli 2010 - 11:30 #8
-> #7 - ja det vil jeg tro er problemet, alle de ting du nævner burde ikke give ham fejl, men det er en god ting at bruge glyffer rundt om array-keys...

har aldrig set kommaer i stedet for punktummer omkring en variabel i en streng, men det virker! :)
Avatar billede ggxdg Nybegynder
02. juli 2010 - 12:22 #9
#8
Okay... Det kan godt være at det har været ifb. queries eller noget, men jeg har før næsten fået grå hår i hovedet af delvist fungerende php scripts indtil jeg fil smidt glyffer på de rigtige steder, så jeg havde en idé om at det kunne fungere, dog ikke helt sikker, men jeg var sikker på at kommaer i stedet for punktummer ikke ville fungere, men så kunne jeg da lige lære noget nyt :P

Men ganske som du siger i din første post, burde det hele jo nok fungere med
[code]
$mappe = $_POST['mappe'];
[/code]
når alt det andet er valid PHP :)
Avatar billede ggxdg Nybegynder
02. juli 2010 - 12:23 #10
Prøver lige igen uden code tags:

$mappe = $_POST['mappe'];
Avatar billede Thedhc Nybegynder
02. juli 2010 - 12:56 #11
Nice, Jeg fik rettet alle de små fejl jeg havde, :) og nu virker det som det skal. :)

I skal have tak mange gange :)
Avatar billede majbom Novice
02. juli 2010 - 13:40 #12
selv tak...
Avatar billede ggxdg Nybegynder
05. juli 2010 - 08:17 #13
Hvis du venter med at give point til jeg har smidt et svar, så bare giv Splazz alle pointene, det var jo ham der havde ret :P
Avatar billede majbom Novice
06. juli 2010 - 06:07 #14
tfp! :)
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