Hallo allemaal,
Alweer worstel ik met een script waarmee ik bezig ben, ditmaal lijkt het script niet te uploaden terwijl ik de fout niet zie!
Dit is wat ik nu heb (niet de hele pagina, die enkel per pm):
Hij upload het plaatje niet en zet dus ook niet de goede url in de database. Iemand die me hiermee kan helpen, in ruil voor een positieve feedback?PHP Code:
define ("MAX_SIZE","2048");
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$errors=0;
$image=$_FILES['image']['name'];
if ($image)
{
$filename = stripslashes($_FILES['image']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
{
echo 'Dit formaat wordt niet ondersteund!';
$errors=1;
}
else
{
$size=filesize($_FILES['image']['tmp_name']);
if ($size > MAX_SIZE*1024)
{
echo 'De foto is te groot!';
$errors=1;
}
$image_name=time().'.'.$extension;
$newname="images/bedrijfsfoto/".$image_name;
$copied = copy($_FILES['image']['tmp_name'], $newname);
if (!$copied)
{
echo 'Er ging iets fout, probeer het nogmaals!';
$errors=1;
}}}
if(!$errors)
{
define("IMG_NAME","$newname");
$foto_url = 'http://www.pasteacode.com/bso/'.IMG_NAME.'';
if(
$query_insert = mysql_query("INSERT INTO ads
(
naam,
naam_op_site,
adres,
postcode,
woonplaats,
provincie,
url,
beschrijving,
telefoon,
halen_brengen,
sport,
verl_opvang,
eigen_vervoer,
mogelijkheden,
plaatsen,
groepen,
email,
foto_url
)
VALUES(
'".$naam."',
'".$naam_op_site."',
'".$adres."',
'".$postcode."',
'".$woonplaats."',
'".$provincie."',
'".$url."',
'".$beschrijving."',
'".$telefoon."',
'".$halen_brengen."',
'".$sport."',
'".$verl_opvang."',
'".$eigen_vervoer."',
'".$mogelijkheden."',
'".$plaatsen."',
'".$groepen."',
'".$email."',
'".$foto_url."'
)
")
){
echo'<br /><br />Uw advertentie is succesvol geplaatst en <a href="http://www.pasteacode.com/bso/advertenties.php" style="color: #000; font-weight: bold; text-decoration: none;">hier</a> te bekijken.';
}else{
echo'<br /><br />Er ging iets mis, loop alle velden na en probeer het nogmaals.';
}
}
}
Alvast heel erg bedankt voor jullie tijd!
Gr.
Jos
- Uploaden image werkt niet mee
-
13-06-2011, 17:26 #1
- Berichten
- 943
- Lid sinds
- 15 Jaar
Uploaden image werkt niet mee
-
14-06-2011, 15:05 #2
- Berichten
- 156
- Lid sinds
- 14 Jaar
Re: Uploaden image werkt niet mee
Heeft u deze regel mee in de form tag gezet?
Anders zal deze geen images uploaden.
enctype="multipart/form-data"
vb. <form action="" enctype="multipart/form-data" method="">
-
14-06-2011, 15:07 #3
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: Uploaden image werkt niet mee
Ja, dit staat er in:
PHP Code:<form name="newad" method="post" enctype="multipart/form-data">
<input type="file" name="image">
Inmiddels is het verholpen, dank aan degene die mij hebben geholpen.Laatst aangepast door Jos van Marrewijk : 14-06-2011 om 15:19 Reden: Automatisch samengevoegd.
-
15-06-2011, 10:24 #4
- Berichten
- 263
- Lid sinds
- 18 Jaar
Re: Uploaden image werkt niet mee
Het zou mooi zijn als je vertelde wat de fout was voor mensen die er ook mee worstelen. Een veel voorkomende fout met uploadscripts is dat mensen de map waar de fotos in moeten komen te staan niet chmodden zodat het script geen rechten heeft om fotos te copieren naar de doelmap.
-
15-06-2011, 10:29 #5
- Berichten
- 651
- Lid sinds
- 17 Jaar
Re: Uploaden image werkt niet mee
Er was op een of andere manier een form in een form gekomen en bij het form waar het om ging ontbrakt het enctype. Gewoon schrijffoutje dus.
-
15-06-2011, 10:55 #6
- Berichten
- 23
- Lid sinds
- 15 Jaar
Re: Uploaden image werkt niet mee
Hoi Jos,
Ik zou al ik jou was niet alleen op extensie checken maar ook of het wel een afbeelding is.
Een afbeelding zorgt ervoor dat mime altijd gevuld is bij de functie getimagesize.
Er zijn vast ook nog andere checks beschikbaar, maar een beetje extra veiligheid kan geen kwaad.
$fileInfo = getimagesize($tempFile);
if($fileInfo["mime"] == "")
{
echo 'Invalid mime type.';
}
else
{
//verder met uploaden
}
-
15-06-2011, 18:08 #7
- Berichten
- 31
- Lid sinds
- 13 Jaar
Re: Uploaden image werkt niet mee
;) en misschien is het dan ook handig ervoor te zorgen dat de plaatjes geen uitvoerrechten hebben. Anders kun je alsnog php code in de comments van een plaatje zetten waarmee die prima voorbij de mime check komt.
-
15-06-2011, 18:13 #8
- Berichten
- 750
- Lid sinds
- 15 Jaar
Re: Uploaden image werkt niet mee
Om de veiligheids wan voorstelling met checken op minetype uit de wereld te helpen.
Checken op mine type is NIET veilig dit wordt op de server gezet door middel van een client side http header welke te wijzingen valt.
Wanneer je veilig wilt controleren of een afbeelding ook echt een afbeelding is zou je moeten gaan werken met de gd library en als nog de afbeeldingen opslaan in een map waar de php parser is uitgeschakeld
Zag net dat iemand me voor was had dit bericht laat na het typen verzondenLaatst aangepast door Raymond Nijland : 15-06-2011 om 18:26
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