webhostingtalk.nl
advertentie
advertentie

Evenementen voor de komende 60 Dag(en)

Resultaten 1 tot 2 van de 2
          

  1.  
    #1
    Shenzou
    Gast
    n/a Berichten
    Berichten zijn liked




    newbie: enkele vragen omtrent PHP uploadscript

    De voorbije dagen heb ik geprobeerd zelf een uploadscript te schrijven in
    PHP. Ik heb aardig wat gevloekt terwijl ik er mee bezig was .
    Nu zit ik echter nog altijd met enkele problemen. Ik hoop dat er iemand bij
    verder kan helpen.
    Mijn vragen:
    1) $subject = $_POST['subject']; Is dit nodig om te doen of niet? Maw kan ik
    onmiddellijk $subject gebruiken?
    2) Wanneer ik het veld "userfile" invul, dus een file selecteer dan blijft
    het script beweren dat ik dit veld niet ingevuld heb. Hoe kan ik dit
    oplossen?
    3) if ($filesize > $max_file_size): deze controle wordt precies niet
    uitgevoerd want als ik een file groter dan 5mb probeer te uploaden dan krijg
    ik geen melding dat de file te groot is.

    Andere tips, suggesties,.. zijn altijd welkom. Bedankt!


    <?php
    if(file_exists('../../private/open_db.inc') &&
    is_readable('../../private/open_db.inc'))
    include('../../private/open_db.inc');

    $db = OpenDb() or die ("can not connect");

    // Define some variables
    $author = $_SESSION['user'];
    $date = date("d/m/y");

    $subject = $_POST['subject'];
    $userfile = $_POST['userfile'];
    $max_file_size = $_POST['max_file_size'];

    $filetype = $_FILES['userfile']['type'];
    $filename = $_FILES['userfile']['name'];
    $filesize = $_FILES['userfile']['size'];

    $uploadfile = $_FILES['userfile']['tmp_name'];
    $uploaddir = "/opt/www/warniere/web/chemical.while.be/members/files/";
    $filetype_array = array("application/pdf", "application/msword",
    "application/vnd.ms-excel", "application/x-zip-compressed", "image/jpeg",
    "image/gif", "image/png");


    if(($subject == "0") || (!$userfile) ||
    (!in_array($filetype,$filetype_array)) || ($filesize > $max_file_size))
    {
    echo 'It seems that there are some problems:<br />';
    if($subject == "0"){
    echo "<strong>You didn't choose a subject for the file!</strong> Please
    choose one below.<br />";
    }
    if(!$userfile){
    echo "<strong>You didn't select a file to upload!</strong> Please select
    a file.<br />";
    }
    if (!in_array($filetype,$filetype_array)){
    echo "<strong>Invalid file type!</strong> Only PDF, Word and Excel
    documents are allowed as well as JPEG and GIF image files.";
    }
    if ($filesize > $max_file_size){
    echo "<strong>The file you are trying to upload is too big!</strong> Only
    files less than 5 mb are allowed.";
    }
    include 'add_file_form.php'; // Show the form again!
    }


    // Choose the directory were the file will be placed
    switch($subject)
    {
    case 1: $subject_dir = "IAP/";
    break;
    case 2: $subject_dir = "UO2/";
    break;
    default: $subject_dir = "";
    }

    $file_destination = $uploaddir.$subject_dir.$filename;

    // Put file
    if(!is_file($file_destination))
    {
    print "<pre>";
    if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
    move_uploaded_file($uploadfile, $file_destination);
    print "File is valid, and was successfully uploaded. Here's some more
    debugging info:\n";
    print_r($_FILES);
    } else {
    print "Possible file upload attack! Here's some debugging info:\n";
    print_r($_FILES);
    }
    }
    else
    {
    echo "<strong>Sorry, the file you are trying to upload already exists in
    the database.</strong><br>Please rename your file and try again.";
    }


    ?>

    <form action="add_file2.php" method="post" name="add_file"
    enctype="multipart/form-data">
    <table>
    <tr>
    <td align="right">Subject:</td>
    <td><select name="subject" class="form">
    <option value="0" selected>Choose one</option>
    <option value="1">IAP</option>
    <option value="2">UO2</option>
    </select>
    </td>
    </tr>
    <tr>
    <td align="right">File:</td>
    <td><input type="hidden" name="max_file_size" value="5000000"><input
    name="userfile" type="file" class="form"></td>
    <!-- Max File Size of Uploads: 100000 = 100KB, 500000 = 500KB etc etc -->
    </tr>
    <tr>
    <td align="right">Description:</td>
    <td><input name="description" type="text" size="50" class="form"></td>
    </tr>
    <tr>
    <td colspan="2" align="right"><input name="clear" type="reset"
    value="clear"><input name="submit" type="submit" value="upload"></td>
    </tr>
    </table>
    </form>







  2. advertentie



  3.  
    #2
    Martijn Engler (a.k.a. Blizt)
    Gast
    n/a Berichten
    Berichten zijn liked




    Re: newbie: enkele vragen omtrent PHP uploadscript

    Shenzou wrote:
    > De voorbije dagen heb ik geprobeerd zelf een uploadscript te schrijven in
    > PHP. Ik heb aardig wat gevloekt terwijl ik er mee bezig was .
    > Nu zit ik echter nog altijd met enkele problemen. Ik hoop dat er iemand bij
    > verder kan helpen.
    > Mijn vragen:
    > 1) $subject = $_POST['subject']; Is dit nodig om te doen of niet? Maw kan ik
    > onmiddellijk $subject gebruiken?


    Het is logischer om te doen, dan gelijk $subject. Overigens zou
    $HTTP_VARS_POST['subject']; ook kunnen Op deze manier weet je
    namelijk zeker dat het gaat om een post-variable. Een get-variable wordt
    dus niet geaccepteerd. Dit kan vooral handig zijn als het niet om post
    gaat, maar om bv. sessies wanneer je zoiets hebt:

    <?php
    session_start();
    if(empty($loggedin))
    {
    echo "eerst inloggen.";
    }
    else
    {
    echo "je bent ingelogd.";
    }
    ?>
    En ik zou dan in de url intypen www.beveiligdepage.nl/?loggedin=yes dan
    zou ik ingelogd zijn. Doe je daarentegen het volgende:

    <?php
    session_start();
    $loggedin = $HTTP_SESSION_VARS['loggedin'];
    //rest code
    ?>

    Dan zou de manier om het in de url te plaatsen niet meer werken. Daarom
    is het beter, maar in jou geval misschien niet broodnodig.

    > 3) if ($filesize > $max_file_size): deze controle wordt precies niet
    > uitgevoerd want als ik een file groter dan 5mb probeer te uploaden

    dan krijg
    > ik geen melding dat de file te groot is.



    Kijk eens in je php.ini (als je zelf host, anders ff scriptje met
    phpinfo(); maken) wat de max. grootte is voor het uploaden van
    bestanden? Verder ontbreekt het mij momenteel aan tijd om je code te
    bekijken, dus misschien dat iemand anders je verder moet helpen.



Forum Rechten

  • Je mag geen nieuwe onderwerpen plaatsen
  • Je mag geen reacties plaatsen
  • Je mag geen bijlagen toevoegen
  • Je mag jouw berichten niet wijzigen
  •  



webhostingtalk.nl
Webhostingtalk.nl © copyright 2001-2013 Alle Rechten Gereserveerd.

Content Relevant URLs by vBSEO 3.6.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75