De bijlage als link laten zien in de zelfde pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Murtada Helo

Murtada Helo

26/07/2012 14:10:53
Quote Anchor link
Hallo,

Heb het ondersaande script gebruikt om een bestand up te loaden, maar ik krijg het niet te zien en wil deze aanroepen op de zelfde pagina en op een andere pagina.

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
<?php

 error_reporting(E_ALL);
 
 $map = ""; // Map waar alles geupload wordt
 
 function upload_file($fTmp, $fNew) {
  if(file_exists($fNew)) {
   return false;
  }
else {
   copy($fTmp, $fNew);
   return true;
  }
 }

 
 if(IsSet($_POST['submit'])) {
  for($i = 0; $i < count($_FILES['bestand']['name']); $i++) {
   if(IsSet($_FILES['bestand']['name'][$i]) && is_uploaded_file($_FILES['bestand']['tmp_name'][$i])) {
    if(!upload_file($_FILES['bestand']['tmp_name'][$i], $map.$_FILES['bestand']['name'][$i])) {
     $error = true;
    }
   }
  }

 
  if(IsSet($error)) {
   echo "Mislukt!";
  }
else {
   echo "Gelukt!";
  }
 }
else {
  if(IsSet($_POST['aantal'])) {
   $aantal = $_POST['aantal'];
  }
else {
   $aantal = 2;
  }

 
?>

<form action="#" method="post">
<input type="text" name="aantal" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $aantal; ?>
" size="1">&nbsp;<input type="submit" name="aantal_submit" value="Aantal bestanden">
</form>
<br><br>
<form action="#" method="post" enctype="multipart/form-data">

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
  for($i = 0; $i < $aantal; $i++) {
?>

Bestand
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $i + 1; ?>
: <input type="file" name="bestand[
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $i; ?>
]">&nbsp;&nbsp;<input type="checkbox" name="formWheelchair[
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $i; ?>
]" value="Yes" /><br>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
  }
?>

<input type="submit" name="submit" value="Uploaden">
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
 }
 
?>


Kan iemand mij even helpen wat ik hier nog mis?

Murtada
 
PHP hulp

PHP hulp

23/12/2024 19:35:06
 
Kris Peeters

Kris Peeters

26/07/2012 14:25:56
Quote Anchor link
Je hebt twee keer een <form> element.

Het lijkt me dat je probeert in twee stappen te werken.
Eerst geeft de gebruiker aan hoeveel files hij wil uploaden; aan de hand daarvan genereer je dan een formulier met meer of minder file-input's.

Klopt dit? Is dit de bedoeling?
Gewijzigd op 26/07/2012 14:37:48 door Kris Peeters
 
Murtada Helo

Murtada Helo

26/07/2012 14:34:57
Quote Anchor link
Nee hoor ik laat de gebruiker meerdere files zolang hij/zij behoefte aan heeft. Mijn vraag als ik nu op uploaden klik krijg fout melding en het bestnad wordt niet upgeload. Gebruik mysql database en wil graag bestand daar opslaan en aanroepen op een andere pagina maar dat lukt mij niet
 
Erwin H

Erwin H

26/07/2012 14:44:35
Quote Anchor link
Probeer eens een print_r( $_FILES ); te doen aan het begin van je script. Als er files geupload zijn zal dat alle info geven. Klopt wat je dan ziet met wat je verwacht?
 
Kris Peeters

Kris Peeters

26/07/2012 14:55:42
Quote Anchor link
Bij mij gebeurt het uploaden wel.

Kan je die foutmelding eens geven?
Misschien heb je niet de juiste rechten op de map waar je wil uploaden.

Trouwens ...
$map = ""; // Map waar alles geupload wordt
Upload je echt in de zelfde map waar ook de php-file zet?


Verder:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
...
if(!upload_file($_FILES['bestand']['tmp_name'][$i], $map.$_FILES['bestand']['name'][$i])) {
     $error = true;
}

else {
  // Hier kan je dus de url van de geüploade file in de database zetten
  // Dat is dus $map.$_FILES['bestand']['name']

}
...

?>


Toevoeging op 26/07/2012 14:56:19:
Gewijzigd op 26/07/2012 15:00:41 door Kris Peeters
 
Murtada Helo

Murtada Helo

26/07/2012 15:43:53
Quote Anchor link
Krijg de volgende fout melding:

Warning: copy(./upload/spring.jpg) [function.copy]: failed to open stream: No such file or directory in /var/--/--/--/--/--/uploadform.php on line 10
Gelukt!

En als print_r( $_FILES ); gebruik en op uploaden klik krijg ik de volgende fout melding:

Array ( [bestand] => Array ( [name] => Array ( [0] => spring.jpg [1] => ) [type] => Array ( [0] => image/jpeg [1] => ) [tmp_name] => Array ( [0] => /tmp/phpUIVr2T [1] => ) [error] => Array ( [0] => 0 [1] => 4 ) => Array ( [0] => 75011 [1] => 0 ) ) )
Warning: copy(./upload/spring.jpg) [function.copy]: failed to open stream: No such file or directory in /var/--/--/--/--/--/uploadform.php on line 10
Gelukt!
 
Kris Peeters

Kris Peeters

26/07/2012 16:15:55
Quote Anchor link
Dat lijkt me een probleem van rechten te zijn.

Kan je dit eens proberen?

- maak een map aan. Noem die bv. 'files'. Zet die map naar de php-file
- pas dan lijn 5 aan naar die map.
dus:
$map = "files/"; // Map waar alles geupload wordt.
Vergeet die / niet op het einde


Dan controleer je of die map de juiste rechten heeft
leesvoer over CHMOD
http://www.phphulp.nl/php/tutorial/overig/uitleg-over-chmod/54/
 
Murtada Helo

Murtada Helo

26/07/2012 16:32:41
Quote Anchor link
Heb gedaan en heb 0777 code gegeven voor CHMOD, maar steeds lukt niet en wat wordt bedoeld met No such file or directory in line 10
 
Obelix Idefix

Obelix Idefix

26/07/2012 22:42:09
Quote Anchor link
Gebruik liever geen 777; 644 zou (volgens mij) moeten volstaan.

Murtada Helo op 26/07/2012 16:32:41:
wat wordt bedoeld met No such file or directory in line 10

Vertaal het eens..... Bestand of locatie bestaat niet (regel 10)
Gewijzigd op 26/07/2012 22:43:07 door Obelix Idefix
 
Murtada Helo

Murtada Helo

27/07/2012 08:32:09
Quote Anchor link
Het is wel gelukt met uploaden, locatie was niet goed maar wel met 0777 en niet met 0644 anders geeft het foutmelding met permission denied. Nu wil graag dat de bijlage link wordt getoond op de zelfde pagina en de bijlage van deze pagina kan openen.
 



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.