Hey,
Ik wil tijdens het uploaden van afbeeldingen checken of de bestandsnaam al bestaat, zoja dan een oplopend getal toevoegen. Nu heb ik een script gevonden, maar hij voegt dat getal niet toe aan de bestandsnaam. Uploaden werkt wel gewoon.
Wie ziet de fout?
Bedankt alvast :)PHP Code:
<?php
// vooropgestelde configuratie
$max_filesize = 20000000; // in bytes, dus 2000000b is 2mb
$allow_ext = array( ".jpg" , ".jpeg" , ".gif" , ".png" , ".bmp" );
$upload_dir = "../../../productfotos/";
// controleren of er op de submit knop is gedrukt
if( isset( $_POST['submitfoto1'] ) )
{
// controleren of een bestand is geupload
if( isset( $_FILES['filename1'] ) )
{
// $_FILES['filename'] is een array met alle informatie
// over het geuploade bestand. Zoals de grootte, bestandsnaam,
// upload-locatie, ...
// controleren of het tijdelijke bestand echt
// een geupload bestand is om potentiele exploits
// te vermijden
if( is_uploaded_file( $_FILES['filename1']['tmp_name'] ) )
{
// controleren of het bestand voldoet aan
// de maximum bestandsgrootte en toegestane extensies
$filesize = $_FILES['filename1']['size'];
$ext = strrchr( $_FILES['filename1']['name'] , "." );
$upload_filename = $_FILES['filename1']['name'];
if( $filesize < $max_filesize && in_array( $ext , $allow_ext ) )
{
// als het bestand al bestaat oplopende counter gebruiker
$final_upload_filename = $upload_filename;
$count = 1;
if (file_exists($final_upload_filename))
{
$final_upload_filename = str_replace( $ext , "" , $upload_filename ) . "_" . $count++ . $ext;
}
// controleren of alles goed loopt met het verplaatsen van het bestand
if( move_uploaded_file( $_FILES['filename1']['tmp_name'] , $upload_dir.$final_upload_filename ) )
{
print( "Foto 1 is geupload." );
$sql = "UPDATE products SET foto1 = '{$final_upload_filename}' WHERE id = '$id' ";
mysql_query($sql) or die(mysql_error());
}
else
{
trigger_error( "Upload map bestaat niet of de rechten zijn niet correct ingesteld." );
}
}
else
{
print( "Het bestand dat u probeert te uploaden is te groot of de extensie is niet toegestaan" );
}
}
else
{
print( "Uw upload is gestopt door onze beveiliging. " .
"Probeer opnieuw of neem contact op met ons." );
}
}
}
?>
- [PHP] file exists
-
05-01-2011, 15:25 #1
- Berichten
- 348
- Lid sinds
- 16 Jaar
[PHP] file exists
-
-
05-01-2011, 15:43 #2
- Berichten
- 21
- Lid sinds
- 15 Jaar
Re: [PHP] file exists
het is toch veel makkelijker om voor de naam van een bestand die een gebruiker upload een uniek id neer te zetten?
bv 1_naam.jpg voor naam.jpg
doe je gewoon een SELECT MAX(`id`)+1 as `newid` FROM `products`
-
05-01-2011, 15:43 #3gast39247 Guest
Re: [PHP] file exists
misschien omdat je de plaatjes hier plaatst: ../../../productfotos/iets.ext
En je controleert ze in je normale directory dus / en niet productfotos/iets.ext
-
05-01-2011, 15:48 #4
- Berichten
- 92
- Lid sinds
- 14 Jaar
Re: [PHP] file exists
i.a.w.
PHP Code:if (file_exists($upload_dir.$final_upload_filename))
-
05-01-2011, 16:59 #5
- Berichten
- 348
- Lid sinds
- 16 Jaar
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic