Doorsturen

Status
Niet open voor verdere reacties.

Wijnands

Gebruiker
Lid geworden
6 jul 2004
Berichten
635
Beste helpmij'ers,

Ik heb nu een php-fotoalbum waar mensen zelf ook foto's op kunnen zetten. Het zijn in totaal 3 php files: begin.php, uploaden.php en dir.php.
Hier kun je het in werking zien.
In principe werkt alles goed, maar als je nu een bestand upload, en het is voltooid, kom je op een witte pagina, waar je weer iets kunt uploaden. Nou zou ik graag willen dat je dan gewoon terug gaat naar het fotoalbum (begin.php dus).
Hier is de code van dir.php:

PHP:
 <? 


$woord="begin";  
$path2 = "uploads"; 
$path = "uploads";  
$title = "$gallery - Pagina ". ($page + 1); 

$header = "<br><br>$gallery"; 




$clm = "5"; 
$rows = "5"; 
$t_w = "100"; 
$t_h = "100"; 

?> 
<html> 
<head><title>Foto's :: <? echo $gallery ?></title> 
</head> 
<body bgcolor='#DBDBDB' leftmargin='0' topmargin='0'> 
<? 
echo "<h1>$header</h1>"; 
echo "<br><br><center><b><b><h2>$title</h2></b></b><br><br>"; 
$min = (1+($page * 20)); 
$max = (($page +1) * 20); 
$number = $clm * $rows; 
$break = (($page * 20) + $clm); 
echo "<table border=0 cellpadding=0 cellspacing=0><tr>"; 
$d = dir("$path2"); 
$count = -1; 
while($entry=$d->read()) { 
    if (($count >= $min) AND ($count <= $max)){ 
      
                  
            if(eregi(".jpg|.jpeg|.gif|.bmp|.png", $entry)){ 
                ClearStatCache(); 
                $size = GetImageSize("$path/$entry"); 
                  
                $size[0] = $size[0] + 20; 
                $size[1] = $size[1] + 25; 
                   
                $file_size=fileSize("$path/$entry"); 
                $file_size = round($file_size / 1000) . "k"; 
      
          
            echo ("<td><a href=\"#\" onmouseover=\"window.status='Vergroten';return true;\" 
            onmouseout=\"window.status=''; return true\" 
            onclick=\"window.open('$path/$entry','pix$count','width=$size[0],height=$size[1],innerwidth=$size[0],innerheight=$size[1],directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no,top=0,left=0,leftmargin=0,topmargin=0,marginwidth=0,marginheight=0,screenX=0,screenY=0');return false\"><img src='$path2/$entry'"); 
            echo " border=0 alt=$count  height=$t_h></a>&nbsp;&nbsp;&nbsp;<br>$entry<br><br>&nbsp;</td>\n"; // width=$t_w 
          
            } 
          
        if ($count == $break){ 
        echo "</tr>\n<tr>\n"; 
        $break = $count + $clm ; 
        } 
    } 

    $count++; 
} 

$d->close(); 
echo "</tr></table>"; 
$pages = ($count / 20); 
$pageplus = ($page + 1); 
$pagemin = ($page - 1); 
if (($page + 1) < $pages){ 
    $volgende = "  | <a href=$woord.php?gallery=$gallery&page=$pageplus>Next 20 Pictures</a> |"; 
} 
if (($page+1) > "1"){ 
    $vorige = "| <a href=$woord.php?gallery=$gallery&page=$pagemin>Previous 20 Pictures</a> |"; 
} 

// Footer, dit staat onder de plaatjes. 
echo "$vorige $volgende<br><br>KH Fotoalbum"; 


?> 
  </div> 
</body> 
</html>

En dit is de code van uploaden.php
PHP:
<html> 

<head> 

<title>uploadpagina</title> 
</head> 



<?PHP 

// In welke map komen de bestanden ? ( zorg dat deze de permissies 777 krijgt ) 
$map = "uploads/"; 

// Wat is de maximale groote van het bestand in bytes ( 1 kb = 1000 bytes ) 
$max = "1000000"; 

// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen ) 
$ext = "jpg gif png"; 



if ($Uploaden){ 


if (!$bestand) 
print ("Geef een bestand op!"); 
else{ 


$bestand2 = explode("\\", $bestand_name); 
$laatste = count($bestand2) - 1; 
$bestand2 = "$bestand2[$laatste]";   


$bestand3 = explode(".", $bestand2); 
$laatste = count($bestand3) - 1; 
$bestand3 = "$bestand3[$laatste]";   
$bestand3 = strtolower($bestand3); 


$ext = strtolower($ext); 
$ext = explode(" ", $ext); 
$aantal = count($ext); 

for ($tel = 0;$tel < $aantal; $tel++){ 
if ($bestand3 == $ext[$tel]){ 
$extfout = "nee"; 
} 



} 

if (!$extfout){ 
print ("Het bestand \"$bestand2\" kan niet worden geupload omdat de extensie niet is toegestaan!"); 
} 
else 
{ 
if ($bestand_size > $max) 
print ("Het bestand \"$bestand2\" is groter dan $max bytes!"); 
else 
{ 



copy($bestand, "$map$bestand2");   
print ("Het bestand \"$bestand2\" is met succes geupload!"); 


} 

} 

} 
} 


print ("<form method=post action=uploaden.php enctype=multipart/form-data> 
Bestand: <input type=file name=bestand><br><br> 
<input type=submit name=Uploaden value=Uploaden></form>"); 


?>
 
Laatst bewerkt:
Na het voltooien van het uploaden kan je toch de Location ..... gebruiken, de pagina waar hij dan heen moet gaan?

:thumb: weet niet cker ;)
 
Geplaatst door XenomX
Na het voltooien van het uploaden kan je toch de Location ..... gebruiken, de pagina waar hij dan heen moet gaan?
Geef dan ook de specifieke code ff, 'Location .....' is nogal vaag ;)

Probeer dit:
PHP:
copy($bestand, "$map$bestand2");   

print ("Het bestand \"$bestand2\" is met succes geupload!");
Eens te veranderen in dit:
PHP:
copy($bestand, "$map$bestand2");   

@header('Location: begin.php');
print ("Het bestand \"$bestand2\" is met succes geupload!");
Succes :thumb:


Wat een prutscript trouwens. Argumenten voor deze bewering verkrijgbaar op verzoek.
 
Ik heb het veranderd, maar hij doet het nog steeds niet:confused:

En dat dit een prutscript is, zou best goed kunnen hoor, maar het is niet van mezelf, en het was het enige script wat het een beetje fatsoenlijk deed. En zelf ben ik eigenlijk nog een php noob.
 
Laatst bewerkt:
Wat doet hij dan wel ? Geeft hij een foutmelding ofzo ? En wat doet het script als je die @ voor header(... weghaalt ?
 
Hij doet hetzelfde in het begin, hij gaat dus naar een witte pagina waar je dan weer een bestand kunt uploaden. Zonder @ had ik ook al geprobeerd, maar geeft hetzelfde resultaat.:confused:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan