copy()

Status
Niet open voor verdere reacties.

familiegennip

Gebruiker
Lid geworden
8 dec 2002
Berichten
141
Hallo allemaal...

Ik heb een nieuw upload script gemaakt. (vandaar dit nieuwe topic)

Hier eerst even het script:

PHP:
<? 


$server = "localhost";                 
$gebruiker = "jurgen";                
$password = "*****";
$database = "lype****1";                  
$toegestaan = array('jpg', 'gif', 'png', 'bmp');    
$maxfilesize = 0.1;                   
$maxwidth = 800;                    
$maxheight = 600;                    
$directory = "img";               
$tabelnaam = "uploads";                  


?> 



<html> 
<head> 
<title>Upload Script:</title> 
</head> 
<body bgcolor="#99CCFF"> 

<?php 
mysql_connect($server, $gebruiker, $password) or die ("Geen verbinding met de server"); 
mysql_select_db($database) or die ("De database kon niet gevonden worden"); 



if(isset($_POST['submit'])) {     
    if($_POST['naam'] == "") { echo("<script language=\"javascript\">alert('U bent vergeten de naam in te vullen');</script>"); }else{ 
        if($_POST['onderwerp'] == "") { echo("<script language=\"javascript\">alert('U bent vergeten een onderwerp in te vullen');</script>"); }else{ 
            if($_FILES['file']['name'] == "") { echo("<script language=\"javascript\">alert('U bent vergeten een file te selecteren');</script>"); }else{ 
     
     
     
     
$extensie = explode(".", $_FILES['file']['name']); 
$extcount = count($toegestaan); 
$extcount2 = count($toegestaan); 

for($a=0;$a<$extcount;$a++) {     
  if(strtolower($extensie[1]) == $toegestaan[$a]) { 
      $extok = true; 
      $a = count($toegestaan); 
}else{ 
    $extok = false; 
} 
            } 
         
if($extok == false) { 
    echo("<script language=\"javascript\">alert('Deze extensie is niet geldig. Geldige extensies zijn:\\n"); 
        for($b=0;$b<$extcount;$b++) {  
            $extup = strtoupper($toegestaan[$b]); 
            if($b == $extcount - 1) { 
              echo("$extup");  
             }else{ 
              echo("$extup, ");      
                                    } 
                            } 
    echo("');</script>"); 
}else{ 
     
     
     





$filesize = $_FILES['file']['size']; 
$filesize2 = ("".ROUND($filesize / 1024, 1)." KB"); 

if($filesize > 1024) { $filesize2 = ("".ROUND($filesize2 / 1024, 1)." MB"); } 
if($filesize > 1073741824) { $filesize2 = ("".ROUND($filesize2 / 1024 / 1024 / 1024, 1)." GB"); } 

$maxfilesize2 = $maxfilesize * 1024 * 1024; 
if($_FILES['file']['size'] > $maxfilesize2) { 
    echo("<script language=\"javascript\">alert('Dit bestand is te groot voor de upload\\nToegstaan: $maxfilesize MB');</script>"); 
}else{ 








$filenaam = $_FILES['file']['name']; 
if(file_exists("$directory$filenaam")) { 
     echo("<script language=\"javascript\">alert('De bestandnaam ($filenaam) is al in gebruik');</script>"); 
}else{ 






$size = getimagesize($_FILES['file']['tmp_name']); 
$width = $size[0]; 
$height = $size[1]; 
if($width > $maxwidth || $height > $maxheight) { 
    echo("<script language=\"javascript\">alert('Het formaat van dit bestand is niet correct.\\nMag max zijn: $maxwidth x $maxheight');</script>"); 
}else{ 





$pad = $directory; 

if(isset($_POST['submit'])) { 
    $query = "INSERT INTO $tabelnaam(naam, datum, comment, filenaam) 
               VALUES('".$_POST['naam']."', now(), '".$_POST['onderwerp']."', '$pad$filenaam')"; 
    $result = mysql_query($query); 
     
     
    copy($file, "$pad".$_FILES['file']['name'].""); 
      echo("<center><font color=red>File uploaded...</font></center>"); 
} 

                } 
            } 

        } 

    } 
} 

}     }    } 






              $string = ("Maximale Grootte: $maxfilesize MB\\nFormaat: $maxwidth x $maxheight\\nExtensies:"); 
                          for($c=0;$c<$extcount2;$c++) {  
                            $extup2 = strtoupper($toegestaan[$c]); 
                        if($c == $extcount2 - 1 ) { 
                              $string .=("$extup2\\n");  
                         }else{ 
                              $string .=("$extup2, ");      
                                            } 
                                                     } 
                    $string .=("Geen dubbele bestandsnamen."); 
                    
                    

echo("<center><table border=0 style=\"border-style: double; border-color=red\"> 
      <form action=$_SERVER[PHP_SELF] method=POST name=\"uploadform\" enctype=\"multipart/form-data\"><tr> 
      <td>Naam:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<Input type=textbox name=naam size=45></td></tr><tr> 
      <td>Onderwerp: <Input type=textbox name=onderwerp size=45></td></tr><tr> 
      <td><input type=file name=file size=42></td></tr><tr> 
      <td><table width=100%><tr><td width=33%>&nbsp</td><td align=center width=33%><input type=submit name=submit value=\"Upload file\"></td><td align=right>"); 
      ?><a href="#" onCLick="alert('Voor het uploaden van het bestand gelden de volgende regels:\n<? echo($string); ?>');">Help</a> 
      <?php 
      echo("</td></tr></table></td></tr> 
      </form></td></tr></table></center>"); 


?> 
</body> 
</html>.

Nou is het volgende het probleem:

Warning: Unable to open '' for reading: Permission denied in c:\httpd\www\lype****\upload\index.php on line 120

In de map "upload" heb ik nog een map. Die heet "img".
Alle geuploade bestanden moeten in de map "img" komen. Maar dat werkt dus niet. De rest van de controles en het uploaden naar de database werkt wel.

Nog even wat info:

Ik heb mijn eigen webserver.
Die draait onder:
Windows 2003 Server Enterprise Edition
PHP Version: 4.2.2

Als iemand nog meer info nodig heeft om dit op te lossen vraag het dan even.

Thnx...
:thumb: :thumb:
 
Laatst bewerkt:
Geplaatst door familiegennip
Nou is het volgende het probleem:

Warning: Unable to open '' for reading: Permission denied in c:\httpd\www\lype****\upload\index.php on line 120
Tsja, de melding zegt 't al: Permission denied.
Chmod de directory ff :)

Overigens, twee opmerkingen:
1. Ik vind dit niet een al te best script, sorry. Kijk om te beginnen even naar de functie in_array() en 't foreach statement. Leer verder iets over concateneren, want zoals je dat nu doet ... OMG ... :D
2. Het wachtwoord van je database in je post vermelden is niet een aanraden :p
 
Laatst bewerkt:
het w8woord was zomaar een woord :D

En ik heb geen linus dus dan hoef ik hem tog niet te chmodden. En zowel hoe???

Ik gebruik geen ftp programma. Ik edit direct op mijn server.

Ik zal een naar het script verder gaan kijken :eek:
 
Geplaatst door familiegennip
En ik heb geen linus dus dan hoef ik hem tog niet te chmodden. En zowel hoe???
Sorry, ik had wat duidelijker moeten zijn.
Met chmodden bedoelde ik de rechten zo zetten dat er uit de directory gelezen mag worden én dat er naar geschreven kan worden.
Normaal is dit bij Windows idd niet nodig, maar Windows Server 2003 _schijnt_ van een vrij ingewikkeld rechtensysteem gebruik te maken, waardoor ';t ook nodig is om de rechten goed te zetten.

Tis btw Linux :)
 
LINUX schrijf foutje. Ik ben hier allemaal niet zo heel handig in maar dat wist ik ook nog net wel :D:D:D

Thnx ik ga het ff proberen

ik ben wel een beetje :confused:
 
Nou ik weet dus niet precies hoe ik dat moet doen. Maar ik heb geprobeert om via me server naar die map te gaan. En dan Properties - Security

En toen gewoon op alles toegestaan geklikt bij alle gebruikers van die map (write, read enz enz..)

MKaar het werkt nog steeds niet :(
 
En als je alle bestanden ook alle rechten (read, write, execute) geeft ?
 
ik heb alle rechten geven denk ik.

Zou je ff kunnen uitleggen hoe precies moet. Misschien doe ik het wel verkeerd :D
 
He JPeetje!

ik heb nu zo lopen k*tten in die rechten dat nu niemand meer toegang heeft :S

Best wel *****n ik denk dat ik maar even iemand ga bellen die er veel verstand van heeft. En die even bij me uitnodig. Als het me dan nog steeds niet lukt dan kom ik hier gewoon weer terug.

Erg bedankt dat je de moeite heb genomen om me te helpen. Dat ik iemand ga bellen wil niet zeggen dat ik hier niks aan heb gehad. Ik heb er sowieso weer wat van geleerd :D maar ik loop er nou al zo'n tijd mee te kl*ten, dat het nu maar eens ff gefixed moet worden.

En ik help het tot nu toe allemaal verkeerd gedaan volgens mij want er moesten meer rechten bij maar ik heb op de één of andere manier alles weg gehaald.

Dus voordat ik het verder verpruts stop ik er zelf nu maar ff mee.

Ieder geval BEDANKT! :thumb: :thumb: :thumb: :thumb: :thumb: :thumb: :thumb: :thumb:
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan