4 errors in upload scriptje

  • Onderwerp starter Onderwerp starter eeyk
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

eeyk

Terugkerende gebruiker
Lid geworden
28 mrt 2007
Berichten
1.232
ik ben bezg met upload site I-Photo english maar nu krijg ik paar errors

dit is het script

PHP:
<? 
$get = "0";
$speed = rand(70,90);

if($get == "1"){
echo "<B>IPhoto</b>: is ofline for Updates!!";
exit;
}else{ 
//verander de onderstaande gegevens 

$locatie="upload/"; //of een andere map, vergeet niet de w-rechten 
$toegestaan = "jpg, gif, png, bmp"; // extensies die toegestaan zijn 
$max_size = 550; //maximale grootte van het bestand in bytes 

//stop met veranderen 

if(isset($_POST['upload'])) {
if(strlen($_POST['Email']) < 7) { 
echo "Error: <B>You email is to Short!</b><br>";
}else{

$bestand = "ip"; // Naam van het bestand 
$extensie = "1"; // De extensie van het bestand [1 = .txt 2 = .php] 

if($extensie == 1){ 
$ext = "txt"; 
}elseif($extensie == 2){ 
$ext = "php"; 
} 

$data = $bestand.$ext; 
$fp = fopen("$data", "a"); 
fputs ($fp, "$REMOTE_ADDR"); 
fclose($fp);

$email = $_POST['Email'];

$bestand = "email"; // Naam van het bestand 
$extensie = "1"; // De extensie van het bestand [1 = .txt 2 = .php] 

if($extensie == 1){ 
$ext = "txt"; 
}elseif($extensie == 2){ 
$ext = "php"; 
} 

$data = $bestand.$ext; 
$fp = fopen("$data", "a"); 
fputs ($fp, "$email"); 
fclose($fp); 

    if(is_uploaded_file($_FILES['bestand']['tmp_name'])) 
    { 
        $extensie_bestand = pathinfo($_FILES['bestand']['name']); 
        $extensie_bestand = $extensie_bestand[extension]; 

        $extensies_toegestaan = explode(", ", $toegestaan); 

        for($i = 0; $i < count($extensies_toegestaan); $i++) 
        { 
            if($extensies_toegestaan[$i] == "$extensie_bestand") 
            { 
                $ok = 1; 
            } 
        } 

        if($ok == 1) 
        { 
            if($_FILES['bestand']['size']>$max_size) 
            { 
                echo "<b>This File is to Big!..: <b>$max_size</b>"; 
                exit; 
            } 

            if(!move_uploaded_file($_FILES['bestand']['tmp_name'], 
            $locatie.$_FILES['bestand']['name'])) 
            { 
                echo "<B>You Cant  Changle This file!!"; 
                exit; 
            } 

            echo "Het bestand ".$_FILES['bestand']['name']." is geupload<br> 
            <a href='".$locatie."".$_FILES['bestand']['name']."' target='_blank'>Click Here, for Watch You file</a>"; 
        } 
        else 
        { 
            echo "Bad file type only : <b>$toegestaan</b>"; 
        } 
    } 
    else 
    { 
        echo "The File have an Error 407"; 
    } 

} 
}
}
?> 
<br>
<b>
<table>
<td>
Max Bytes: 55024<br />
File Types: .jpg .gif .bmp .png<br />
</td>
<td><menu>
<?php 
$ip = $_SERVER['REMOTE_ADDR'];
?>
<img src="xpsp2res_2000.ico" alt=""><B><big>C</big>onnect Speeld: (<? echo $speed; ?>)<br />
<img src="iexplore_32548.ico" alt=""> <big>I</big>p Register: (<? echo $ip; ?>)<br />
<br />
</b>
All ip's Will Be Removed on 24:59 Hour!<br />
</td>
</tr>
</table>
<table>
<tr>
<td>
<br />
<form method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data"> 
Email: <input type="text" name="Email" size="25">
<br />
File: <input type="file" name="bestand" size="30"><br> 
 <input type="submit" name="upload" value="uploaden"> 
</form> 
</td>
<tr>
<td>
<B>Privacy</b>: <br />
To use: I-photo Crime-ware is use free for the uploaden.<br />
of photograph you can put you yourself on the photograph or another one! <br />
Copyright: If you someone makes photograph and suddenly upload are you illegal! <br />
To keep: After uploaden the files 3 are kept months!.<br />
If there becomes too much upload the oldest files are then removed!<br />
<U>Look Out! with what you upload!</u>
</td>
</table>

dit zijn de errors

Code:
Warning: fopen(iptxt) [function.fopen]: failed to open stream: Permission denied in /home/id02117/domains/crime-ware.nl/public_html/i-photo/upload.php on line 32

Warning: fclose(): supplied argument is not a valid stream resource in /home/id02117/domains/crime-ware.nl/public_html/i-photo/upload.php on line 34

Warning: fopen(emailtxt) [function.fopen]: failed to open stream: Permission denied in /home/id02117/domains/crime-ware.nl/public_html/i-photo/upload.php on line 48

Warning: fputs(): supplied argument is not a valid stream resource in /home/id02117/domains/crime-ware.nl/public_html/i-photo/upload.php on line 49

Warning: fclose(): supplied argument is not a valid stream resource in /home/id02117/domains/crime-ware.nl/public_html/i-photo/upload.php on line 50
 
Tja bestanden worden niet gevonden...

Logisch wanneer je naar deze regel kijkt
PHP:
$data = $bestand.$ext;
Stel dat $bestand "email" is en $ext is "txt" dan bevat de variabele $data vervolgens "emailtxt".

Waarschijnlijk wil je dit hebben
PHP:
$data = $bestand.'.'.$ext;
 
Mooi dat het werkt, maar er zijn nog wel een paar dingen die me opvallen aan je code:

PHP:
echo "<B>IPhoto</b>: is ofline for Updates!!";

Misschien een beetje pietluttig, maar offline is met dubbel 'f'.

PHP:
$extensie = "1"; // De extensie van het bestand [1 = .txt 2 = .php] 

if($extensie == 1){ 
$ext = "txt"; 
}elseif($extensie == 2){ 
$ext = "php"; 
}

Waarom zet je $ext niet meteen op 'txt' dit 'if-statement' lijkt me nogal overbodig.

Daarnaast het feit dat je de ene keer shorttags gebruikt:

PHP:
<?

En de andere keer wel volledige tags:

PHP:
<?php

Het advies is om altijd volledige tags te gebruiken. Niet elke server heeft de optie shorttags aanstaan en mocht je nog eens op een andere server ditzelfde script willen gebruiken, dan kon dat met shorttags nog wel eens een probleem worden. Dan moet je met je php.ini file aan het wijzigen en dat lijkt me niet gewenst. Daarbij komt dat het eenvoudigweg netter is om altijd dezelfde tags te gebruiken.

Al deze 'fouten' (zo kun je het eigenlijk niet eens noemen) leveren je geen catastrofale errors op, maar het is wel de moeite waard om het even te verbeteren. Dit is dan ook geen kritiek, maar slechts tips om je script te optimaliseren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan