foto's versturen

Status
Niet open voor verdere reacties.

pontoe

Gebruiker
Lid geworden
9 jan 2008
Berichten
351
ey all,
ik heb een site voor mijn klas gemaakt, en wil nu graag dat ze vanaf de site een form kunnen invullen en foto's daarbij kunnen uploaden, zodat die vanzelf naar mij gestuurd worden. ik heb al een tijdje rondgekeken maar ik heb niets goeds kunnen vinden. kan iemand mij een voorbeeld geven wat je moet doen als je als textboxes wilt hebben: naam, thema
en dan dat je uiterlijk 8 foto's tegelijk kan uploaden, dus 8 uploadboxes. En hoe moet je daarna je .php bestand maken? ik heb al wel een mailform op mijn site, maar weet niet hoe dat moet met bestanden erbij... eigenlijk moet ik alleen de functie hebben om te uploaden, 8 verschillende uploadboxes, en dan wat je bij je .php moet doen.
 
ik heb nu dit gevonden: http://www.phphulp.nl/php/scripts/1/262/
Code:
<?php
//mail formulier voor bijlage
$email ='mijn@email.com';
//geneer boundary
DEFINE('bound',md5(uniqid(time())));
//check request method

    if($_SERVER['REQUEST_METHOD'] == 'POST')
    {
         //if file upload send with email as mixed
         if(!empty($_FILES['file']['name']))
         {
            //check filesize
             if($_FILES['file']['size'] < 1024*50)
             {
                  $headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
                $headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
                   $headers .= "MIME-Version: 1.0\r\n";
                   //email bestaat uit meerdere  bestanden dus vertel wat de scheidings teken is en dat het een multipart is
                   $headers .= "Content-Type: multipart/mixed; boundary=\"".bound."\"\r\n";
                   //we zenden een attachment mee
                   $headers .= "Content-Disposition:  attachment\r\n";
                   //readfile
                   $fp = fopen($_FILES['file']['tmp_name'],'r');
                   $bestand = fread($fp,$_FILES['file']['size']);
                   fclose($fp);
                   //create body
                   //generenen een body. Dit is een multi part gezeik
                   $body.= "This is a multi-part message in MIME format.\r\n";
                   $body.= "\r\n";
                //boundary
                $body.= "--".bound."\r\n";
                //content type + charater set (iso in dit geval)
                $body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
                //codering (7 bit)
                $body.= "Content-Transfer-Encoding: 7bit\r\n";
                $body.= "\r\n";
                //het bericht
                $body.= $_POST['bericht'] ."\r\n";
                //boundary
                $body.= "--".bound."\r\n";
                //content type + naam bestand (database.sql)
                $body .= "Content-Type: application/octet-stream; name=".$_FILES['file']['name']."\r\n";
                //codering
                $body .= "Content-Transfer-Encoding: base64\r\n";
                //als bijlage toegevoegd
                $body.= "Content-disposition: attachment\r\n";
                $body .= "\n";
                //de inhoud van het bestand
                $body .= chunk_split(base64_encode($bestand )) . "\r\n";
                mail($email,$_POST['subject'],$body,$headers);
                echo 'Email (Met een bijlage) is verzonden';
            }
            else
            {
                 echo 'Bestands groote is te groot';
             }
        }
        else
        {
            $headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
               $headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
               $headers .= "MIME-Version: 1.0\r\n";
               $bericht = $_POST['bericht'];
               mail($email,$_POST['subject'],$bericht,$headers);
               echo 'Email (Zonder een bijlage) is verzonden';
         }
     }
     else
     {
        //mail formulier je moet zelf het fomullier maken

        echo "<form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"POST\" enctype=\"multipart/form-data\">";
         echo "Naam: <input type='text' name='from'><br>";
         echo "Email:<input type='text' name='email'><br>";
         echo "Onderwerp:<input type='text' name='subject'><br>";
         echo "Bestand:<input type='file' name='file'><br>";
         echo "Bericht:<textarea name='bericht'></textarea><br />";
        echo "<input type=\"submit\" value=\"Verzenden\">";
    }
?>
maar nu wil ik dat ik meerdere bestanden tegelijk kan versturen. op die site zeiden ze dat je dan dit stuk in een foreach moest zetten, maar dat begreep ik niet:
Code:
$body.= "--".bound."\r\n";
//content type + naam bestand (database.sql)
$body .= "Content-Type: application/octet-stream; name=".$_FILES['file']['name']."\r\n";
//codering
$body .= "Content-Transfer-Encoding: base64\r\n";
//als bijlage toegevoegd
$body.= "Content-disposition: attachment\r\n";
$body .= "\n";
snapt iemand anders hoe het moet? ik heb al wat dingen geprobeerd, maar zonder succes! help aub!
 
ik heb het scriptje ook eens geprobeerd maar nee vindt het maar niks zoek ook zoeits maar dan wel wat beter dan dit wil ook meerdere tegelijk kunnen uploaden hadt ooit ergens zoiets op me pc maar kan niet vinden meer.
 
dat wou ik eigenlijk ook doen, maar nog niets kunnen vinden wat ik goed vond... de meeste dingen zijn iets heel anders dan wat ik zocht...
 
dit scriptje is niet zo goed ook heb een betere gevonden maar nog niet multie helaas. hadt er wel ergens een die weer niet werkte.

bij webmensen hebben ze er wel 1 maar een licentie van 15 euro dacht ik.

terwijl je met wat handig hijd een gratis script zelf ombouwt.

wat me nu nog niet gelukt is ik kreeg het wel voor elkaar om van een mail form een vertel het je vrienden te bouwen.

ik zoek en sleutel nog even verder met wat hulp van de webforums.

in de hoop dat het me na 2 dagen toch eens lukt
 
de 'vertel het je vrienden' heb ik ook al op de site, of tenminste zoiets, maar ik snap niet hoe ik daar iets bij kan zetten om up te loaden... sorry trouwens dat ik zo lang niet gereageerd heb :rolleyes:
 
ik ben ook niet verder gekomen dan een script met 1 plaatje per keer
moet toch mogelijk zijn om er meer in te bouwen
 
De pagina kan niet worden weergegeven.

erg handig een niet werkend url of het wordt bij mij geblokt kan ook:confused:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan