Hallo allen,
Ik probeer via onderstaande code een afbeelding op de server te uploaden:
Hij zet keurig de link in de database en krijg geen foutmeldingen. Het enige probleem is dat de afbeelding niet op de server verschijnt. Ziet iemand hier toevallig een foutje? Het is niet het chmodden, dat staat allemaal goed. :)Code:<?php include('config.php'); if($_SERVER['REQUEST_METHOD'] == 'POST'){ $allowedExts = array("jpg", "jpeg", "gif", "png"); $extension = end(explode(".", $_FILES["file"]["name"])); if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/png") || ($_FILES["file"]["type"] == "image/pjpeg")) ) { if ($_FILES["file"]["error"] > 0) { echo "Foutmelding: " . $_FILES["file"]["error"] . "<br>"; } else { echo "Upload : " . $_FILES["file"]["name"] . "<br>"; echo "Bestand: " . $_FILES["file"]["type"] . "<br>"; echo "Grootte: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; echo "Locatie: " . $_FILES["file"]["tmp_name"] . "<br>"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " bestaat al. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]); echo "Opgeslagen in: " . "upload/" . $_FILES["file"]["name"]; $path = 'upload/'.$_FILES["file"]["name"]; $query = "INSERT INTO uploaded(type,path,name,thumb) VALUES('".$_POST['type']."', '".$path."', '".$_POST['naam']."', '-')"; mysql_query($query); } } }else { echo "Bestand kan niet in de database worden geplaatst."; } } ?>
Alvast bedankt voor jullie hulp.
Met vriendelijke groet,
Jos van Marrewijk
- Hulp met uploaden afbeelding
-
09-06-2013, 20:45 #1
- Berichten
- 943
- Lid sinds
- 15 Jaar
Hulp met uploaden afbeelding
-
-
09-06-2013, 21:14 #2
- Berichten
- 2.690
- Lid sinds
- 15 Jaar
Re: Hulp met uploaden afbeelding
Kan het het onderstaande zijn?
Code:<?php include('config.php'); if($_SERVER['REQUEST_METHOD'] == 'POST'){ $allowedExts = array("jpg", "jpeg", "gif", "png"); $extension = end(explode(".", $_FILES["file"]["name"])); if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/png") || ($_FILES["file"]["type"] == "image/pjpeg")) ) { if ($_FILES["file"]["error"] > 0) { echo "Foutmelding: " . $_FILES["file"]["error"] . "<br>"; } else { echo "Upload : " . $_FILES["file"]["name"] . "<br>"; echo "Bestand: " . $_FILES["file"]["type"] . "<br>"; echo "Grootte: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; echo "Locatie: " . $_FILES["file"]["tmp_name"] . "<br>"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " bestaat al. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]); echo "Opgeslagen in: " . "upload/" . $_FILES["file"]["name"]; $path = 'upload/'.$_FILES["file"]["name"]; $query = "INSERT INTO uploaded(type,path,name,thumb) VALUES('".$_POST['type']."', '".$path."', '".$_POST['naam']."', '-')"; mysql_query($query); } } }else { echo "Bestand kan niet in de database worden geplaatst."; } } ?>
-
09-06-2013, 21:17 #3
- Berichten
- 2.690
- Lid sinds
- 15 Jaar
Re: Hulp met uploaden afbeelding
Sorry, net thuis en ben erg moe, mijn reactie slaat nergens op :0
-
09-06-2013, 21:27 #4
- Berichten
- 153
- Lid sinds
- 14 Jaar
Re: Hulp met uploaden afbeelding
Allereerst, ik zou sowies netjes de PHP constanten gebruiken (UPLOAD_ERR_OK etc, zie http://php.net/manual/en/features.fi...oad.errors.php bv)
Daarnaast is het natuurlijk wat gissen, maar een paar ideeen zijn:
Je werkt met relatieve paden, misschien zit hem daar de fout in?
move_uploaded_file respecteert open_basedir en safe_mode. Misschien is het een PHP instelling?
Tenslotte, negeer je het resultaat van move_uploaded_file. Die kan false returnen en geen foutmelding geven (http://php.net/manual/en/function.mo...oaded-file.php)
PS: Ik weet niet of dit testcode is, maar je genereerd een aantal keer dezelfde constructie. Dat zou ik in een variabele duwen -> minder foutgevoelig bij wijzigingen. Ik zie, na scrollen, dingen uit de $_POST in de query gaan. Dat hoort m.i. niet op een forum, straks kopieert iemand deze code als heilige graal zonder te weten dat je dat hoort te escapen...
-
09-06-2013, 21:29 #5
- Berichten
- 2.690
- Lid sinds
- 15 Jaar
Re: Hulp met uploaden afbeelding
Poging twee, geen idee of het werkt, zomaar een suggestie:
PHP5.3? Voeg rode txt eens toe aan je code en probeer het nog eens...
Code:<?php include('config.php'); if($_SERVER['REQUEST_METHOD'] == 'POST'){ $allowedExts = array("jpg", "jpeg", "gif", "png"); $extension = end(explode(".", $_FILES["file"]["name"])); if ((($_FILES["file"]["type"] == "image/gif; charset=binary") || ($_FILES["file"]["type"] == "image/jpeg; charset=binary") || ($_FILES["file"]["type"] == "image/png; charset=binary") || ($_FILES["file"]["type"] == "image/pjpeg; charset=binary")) ) { if ($_FILES["file"]["error"] > 0) { echo "Foutmelding: " . $_FILES["file"]["error"] . "<br>"; } else { echo "Upload : " . $_FILES["file"]["name"] . "<br>"; echo "Bestand: " . $_FILES["file"]["type"] . "<br>"; echo "Grootte: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; echo "Locatie: " . $_FILES["file"]["tmp_name"] . "<br>"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " bestaat al. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]); echo "Opgeslagen in: " . "upload/" . $_FILES["file"]["name"]; $path = 'upload/'.$_FILES["file"]["name"]; $query = "INSERT INTO uploaded(type,path,name,thumb) VALUES('".$_POST['type']."', '".$path."', '".$_POST['naam']."', '-')"; mysql_query($query); } } }else { echo "Bestand kan niet in de database worden geplaatst."; } } ?>
/i'm out :)
-
09-06-2013, 21:29 #6
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: Hulp met uploaden afbeelding
Haha geeft niet Arjen, in ieder geval voor het meedenken! Word er zelf een beetje moedeloos van...
//
Met die code erachter krijg ik de melding dat de afbeelding niet op de server geplaatst kan worden. Dat is de melding onderaan de code. Kan je daar iets mee?
-
09-06-2013, 21:49 #7
- Berichten
- 2.690
- Lid sinds
- 15 Jaar
Re: Hulp met uploaden afbeelding
Wat is de letterlijke foutmelding?
HEb je 755 gechmod? Probeer eens met 777 dan...
-
09-06-2013, 22:22 #8
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: Hulp met uploaden afbeelding
CHMOD had ik al op 777 om fouten te voorkomen. Echter is dit niet het probleem. Error reporting staat op E_ALL, maar krijg daar geen error van terug. Enkel de error die ik zelf heb ingebouwd, onderaan het script.
-
10-06-2013, 07:03 #9
- Berichten
- 501
- Lid sinds
- 18 Jaar
Re: Hulp met uploaden afbeelding
Zet voor je move_upload_file eens een if
dus if (move_uploaded_file(bllat, blaat)) {
Goed man
} else {
fail
}
Martijn
-
10-06-2013, 13:18 #10
- Berichten
- 42
- Lid sinds
- 18 Jaar
Re: Hulp met uploaden afbeelding
Heb je al wat met de (terechte) reactie van van Henry Been gedaan?
En hoe ziet je formulier eruit, bestaat "file" wel?
-
10-06-2013, 13:24 #11
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: Hulp met uploaden afbeelding
@Martijn; Ook dan geeft ie aan dat het niet gelukt is, geen foutcode o.i.d. helaas.
@Theo; Nee daar had ik nog niets mee gedaan, om eerlijk te zijn heb ik daar overheen gelezen.
Code van het formulier is als volgt:
Code:<form action="" method="post" enctype="multipart/form-data"> <label for="file">Bestandsnaam:</label><br /> <input type="file" name="file" id="file"><br /> Type:<br /> <select name="type"> <option value="logo">Logo</option> <option value="layout">Layout</option> </select><br />Naam:<br /> <input type="text" name="naam" /><br /> <input type="submit" name="submit" value="Uploaden"> </form>
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