Uploaden op server

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan H

stefan H

14/01/2013 16:01:19
Quote Anchor link
kan iemand mij helpen hoe ik via een formulier een afbeelding op de server kan plaatsen .
ik heb onderstaand script maar krijg dan in chrome de melding Too many redirects.

ik hoop dat iemand mij kan helpen alvast bedankt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
if ($_SESSION['email'] == true){
 
if( $_SERVER['REQUEST_METHOD'] == 'POST'){

$doelbestandsnaam = "plaatje";
$pad = "/www/foto/";
if (is_uploaded_file($_FILES['foto']['tmp_name'])){

if($_FILES['foto']['size'] >250000){
    echo"Het bestand is te groot";
exit!
}


if (!preg_match("/((.gif|.jpg|.png)$/", $_FILES['foto']['name'], $extensie)){
    echo"Het bestand is niet het juiste type";
exit!
}


if (!move_uploaded_file($_FILES['foto']['tmp_name'],
    $pad.$doelbestandsnaam.$extensie[0])){
        echo"Het bestand kan niet verplaatst worden";
}


echo"Uw bestand ".$_FILES['foto']['name']." is geupload";
}

else{
    echo"Het uploaden is mislukt";
}

?>
 
PHP hulp

PHP hulp

19/04/2024 10:39:55
 
No One

No One

14/01/2013 16:07:54
Quote Anchor link
je zou zeggen, dat heeft te maken met header("Location: url"); te maken..gebruik je die ergens in dat script??
 
Stefan H

stefan H

14/01/2013 16:12:55
Quote Anchor link
die worden niet gebruikt in dit script
 
Kris Peeters

Kris Peeters

14/01/2013 16:13:28
Quote Anchor link
Die error reporting komt niet van de code die je postte. Waarschijnlijk iets dat er voor of er na komt.

Mijn eerste idee is ook dat je iets van header('location: ...') gebruikt.


EDIT: okay, geen header/location dus.
Dan moeten we verder zoeken.

Gebruik je dan iets anders van redirect?
Lees je ergens een file (bv. met include)?
Gebruik je een <meta> element die redirect?
Gewijzigd op 14/01/2013 16:15:45 door Kris Peeters
 
Stefan H

stefan H

14/01/2013 16:18:19
Quote Anchor link
inmiddels even de code inclusief formulier op een nieuwe pagina gezet en dan loopt het script wel.

alleen krijg ik continu de echo Het bestand type is niet het juiste type terwijl het wel aan de voorwaarde van bijv gif voldoet. iemand een idee hoe ik dit anders moet neer zetten ik heb dit namelijk uit een boek PHP 5.3
 
Kris Peeters

Kris Peeters

14/01/2013 16:48:11
Quote Anchor link
De extensie controleren, kan met pathinfo.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$pathinfo
= pathinfo($_FILES['foto']['name']);
$allowedExtensions  = array('gif', 'jpg', 'jpeg', 'png');
if (in_array(strtolower($pathinfo['extension']), $allowedExtensions )) {
  // goede extensie
}
else {
  // geen goede extensie
}
?>

(niet getest, ik hoop dat ik geen fouten heb gemaakt)
Gewijzigd op 14/01/2013 16:50:20 door Kris Peeters
 
Stefan H

stefan H

14/01/2013 16:50:08
Quote Anchor link
ik kwam er zelf achter dat ik ook een tik foutje had gemaakt was een haakje vergeten

maar loop nu vast op de volgende echo kan het bestand niet verplaatsen?

iemand nog een idee?
 
No One

No One

14/01/2013 16:54:35
Quote Anchor link
schrijfrechten in die folder?
 
Erwin H

Erwin H

14/01/2013 16:58:53
Quote Anchor link
Klopt het pad wel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$pad
= "/www/foto/";
?>

Mijn eerste gedachte is dat je script ook tenminste in de www folder staat en dat je relatieve pad naar de upload directory dus anders moet zijn.
 
Stefan H

stefan H

14/01/2013 17:10:10
Quote Anchor link
het script staat inderdaad in de www folder dus moet het
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$pad
=" /foto/";
?>

zijn ?
en hoe kom ik achter de schrijf rechten ?

Toevoeging op 14/01/2013 17:28:42:

schrijf rechten iemand misschien ?

Toevoeging op 14/01/2013 18:51:01:

heb nu een paar aanpassingen gemaakt en inderdaad de map foto ook op schrijven gezet maar helaas werkt het nog niet iemand een idee wat hier fout is ?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?
if ($_SESSION['email'] == true){
 
if( $_SERVER['REQUEST_METHOD'] == 'POST'){

$doelbestandsnaam = "plaatje";
$pad = "/foto/";
if (is_uploaded_file($_FILES['foto']['tmp_name'])){

if($_FILES['foto']['size'] >250000){
    echo"Het bestand is te groot";
exit;
}


if (!preg_match("/((.gif|.jpg|.jpeg)$)/", $_FILES['foto']['name'], $extensie)){
    echo"Het bestand is niet het juiste type";
exit;
}


if (!move_uploaded_file($_FILES['foto']['tmp_name'],
    $pad.$doelbestandsnaam.$extensie[0])){
        echo"Het bestand kan niet verplaatst worden";
    exit;
}


$upload = mysql_query("INSERT INTO aanbod ( fotoloc) VALUES( '".mysql_real_escape_string($doelbestandsnaam)."')WHERE id=('".$_GET['id']."') AND gebruikerid=('".$_SESSION['gebruikerid']."'")or die (mysql_error());
if ($upload == false){
    echo'Er ging iets fout';
exit;
}

echo"Uw bestand ".$_FILES['foto']['name']." is geupload";

exit;
}

else{
    echo"Het uploaden is mislukt";
exit;
}
}

else{
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.