5 berichten aan het bekijken - 1 tot 5 (van in totaal 5)
  • Q:
    Bijdrager
    EL Mystica

    [PHP] mime-types

    Ik wil verifiëren of documenten die geupload worden, wel degelijk wordbestanden, excellbestanden, pdf’s of powerpoints zijn.

    Welke mime-types moet ik hiervoor opgeven in mijn validation?

    Bijdrager
    EL Mystica

    Voorlopig heb ik het opgelost via explode naar extension…

    En terwijl we hier nu toch zijn:

    Wat wil dit zeggen:
    Warning: ftp_put(): Rename/move failure: No such file or directory in …

    Bijdrager
    apenstaartje

    De mime types die de browser stuurt bij een file upload zijn niet te vertrouwen en kunnen verschillen al bij een jpg…
    Er is wel een extensie / module die wel correct kan detecteren wat voor een bestand het is, maar die staat standaard toch meestal niet aan.

    De ftp_put melding zegt eigenlijk precies wat ie moet zeggen. Blijkbaar geef je het verkeerde pad op en het bestand dat je wilt verplaatsten staat niet daar.

    Bijdrager
    EL Mystica

    Hmm, ik krijg nog altijd die melding, en ik zie niet goed waar ik fout zit:(

    dit bestand staat in http://www.site.be/road/admin.
    bedoeling is dat ie het zet in de map http://www.site.be/road/uploads

    Ziet iemand het?
    Het is een script dat ik vroeger zo vaak gebruikt heb:(

    Ow ja, FYI, het staat op een php5-server

    [code:1:a16d3f7d25]
    $website = "http://www.site.be/road";
    $dendir = "../uploads/";
    $filename = "storageID.txt";
    $filesize = 1024*400; // 400kB

    // Start uploadingproces //

    if( $_POST[’submit’] ) {

    if ( $_FILES[’userfile’][’size’] <= $filesize ) {

    $splittedFilename = explode(".",$_FILES[’userfile’][’name’]);
    $type = strtolower(end($splittedFilename));

    if($type == "jpg" OR $type == "jpeg" OR $type == "gif" OR $type == "pjpeg" OR $type == "doc" OR $type == "xls" OR $type == "pdf" OR $type == "ppt"){

    if ( is_uploaded_file($_FILES[’userfile’][’tmp_name’])) {

    $handle = fopen ( $filename, "r" );
    $getal = fread ( $handle, filesize ( $filename ) );
    fclose ($handle);

    $nieuw = $getal + 1;
    $handle = fopen($filename, ‘r+’);
    fwrite($handle, $nieuw);
    fclose ($handle);

    $naam = explode( ".", $_FILES[’userfile’][’name’] );
    $count = count( $naam );
    $ext = $type;
    $plaats = $dendir . $getal . "." . $ext;

    $upload = ftp_put($conn_id, $plaats, $_FILES[’userfile’][’tmp_name’], FTP_BINARY);

    $url = $website."/uploads/". $getal .".". $ext;

    $msg = "Het bestand is succesvol geupload!";
    $img = "<a href=’".$url."’ title=”>link</a>";

    echo "<br /><br /><br /> n".$img."<br /><br /><br /> n".$msg;

    } else {

    $errorMessage = "Het bestand kon niet worden geupload";
    echo $errorMessage;

    }

    } else {

    $errorMessage = "Fout: het bestand moet een jpg of gif zijn: ".$type;
    echo $errorMessage;
    }

    } else {
    $errorMessage = "Fout: het bestand kan niet groter dan 400kb zijn.";
    echo $errorMessage;
    }
    } else {
    ?>
    <td bgcolor="#ffffff" class="upperborder" valign="top">

    <h3 class="orange">Documents</h3>

    <p style="margin-left:15px;">
    Upload hier nieuwe documenten.<br />
    Vervolgens kan u die bij uw gewenste pagina voegen via het menu.
    </p>

    <form style="margin:18px;border:1px #CCCCCC solid; padding:10px;" action="<? $_SERVER[’PHP_SELF’];?>" method="post" enctype="multipart/form-data">

    <input type="file" name="userfile" />

    <br />
    <br />

    <input type="submit" name="submit" value="upload" />

    </form>

    <?

    [/code:1:a16d3f7d25]

    Bijdrager
    EL Mystica

    Hmm, als ik in de root werk, werkt ie wel…? aagh …

5 berichten aan het bekijken - 1 tot 5 (van in totaal 5)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.