[PHP] problemen met file_exists

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • nore1g1
  • Registratie: Oktober 2001
  • Laatst online: 27-08 13:56
de bedoeling was om een foto weer te geven als deze bestaat en als deze niet bestaat een standaardfoto weer te geven. helaas werkt dit niet :?.

Het is wellicht een heel simpel probleem maar we komen er niet achter.. directorys kloppen 100% zeker :?

PHP:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<html>
<head>
<title>***** Occasions</title>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="http://www.eenautobedrijf.nl/opmaak.css" rel="stylesheet" type="text/css">
<body>
<?php
include "../config.inc.php";
    $sqlquery = "SELECT * from occs WHERE Id = '$linkId'";
    $resultaat = mysql_query($sqlquery) or die ("Helaas, er is een fout opgetreden bij het weergeven van de frontpage...");
        while ($obj = mysql_fetch_object($resultaat)){ 
?>

<table width="91%" border="0">
  <tr>
    <td width="53%" height="375" ><br>[img]"<?
$foto[/img]Id; 
$filename = "/Testmap/Occs/$foto.JPG"; 

if (!file_exists($filename)) echo "/Testmap/Occs/geenfoto.JPG"; 
else echo "/Testmap/Occs/$foto.JPG" ;
?> " width="500" height="375"></td>
    <td width="47%" align="left"> 
      <table width="100%" border="0">
<tr>
          <td width="20%"><B>Merk:</B> </td>
          <td width="80%" align="left" valign="top"><?php echo "$obj->Merk"; ?> 
            <?php echo " $obj->Type"; ?></td>
  </tr>
  <tr>
          <td width="20%"><B>Motor: </B></td>
          <td width="80%" align="left" valign="top"><?php echo "$obj->Cc"; ?></td>
  </tr>
  <tr>
          <td width="20%"><B>Brandstof: </td>
          <td width="80%" align="left" valign="top"><?php echo "</B>$obj->Brandstof"; ?></td>
  </tr>
  <tr>
          <td width="20%"><B>Geschakeld: </B></td>
          <td width="80%" align="left" valign="top"><?php echo "$obj->Geschakeld"; ?></td>
  </tr>
  <tr>
          <td width="20%"><B>Kilometers: </B></td>
          <td width="80%" align="left" valign="top"><?php echo "$obj->Kilometers"; ?></td>
  </tr>
  <tr>
          <td width="20%"><B>Bouwjaar: </B></td>
          <td width="80%" align="left" valign="top"><?php echo "$obj->Bouwjaar"; ?></td>
  </tr>
  <tr>
          <td width="20%"><B>Kleur: </B></td>
          <td width="80%" align="left" valign="top"><?php echo "$obj->Kleur"; ?></td>
  </tr>
  <tr>
          <td width="20%"><BR></td>
          <td width="80%" align="left" valign="top"><BR></td>
  </tr>
  <tr>
          <td width="20%" height="40" align="left" valign="top"><B>Extra's: </B></td>
          <td width="80%" align="left" valign="top"><?php echo "$obj->Extra"; ?> 
            <?php
 }
?>
            &nbsp;</td>
  </tr>
</table>
    </td>
  </tr>
</table>

</body>
</html>


EDIT: Code veranderd...

[ Voor 130% gewijzigd door nore1g1 op 24-03-2003 15:10 ]


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 13:04
Gebruik eens [ php] en [ /php]...

Je code is nu if (!file_exists(index.htm)); je controleert dus niet of er een foto bestaat maar of index.htm bestaat, en die zal altijd wel of altijd niet bestaan denk ik zo...

Acties:
  • 0 Henk 'm!

  • nore1g1
  • Registratie: Oktober 2001
  • Laatst online: 27-08 13:56
ja klopt dat was nog een testje lol. Maar die vraagtekens proberen we even :P

Acties:
  • 0 Henk 'm!

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 05-09 07:32

Willem2

Ω is futile

PHP:
1
2
3
4
5
$foto = $obj->Id;
$filename = '/Testmap/Occs/$foto.JPG';

if (!file_exists($filename)) echo "geenfoto.JPG";
else echo "$foto.JPG" ;


zou beter moeten gaan....

en nee, ik houd niet van voetbal... :)


Acties:
  • 0 Henk 'm!

  • nore1g1
  • Registratie: Oktober 2001
  • Laatst online: 27-08 13:56
Nou ik heb het nu zo gedaan zoals Willem2 zei.. (code is aangepast) maar hij pakt hem niet :?

Hij geeft altijd de geenfoto.JPG ... Snap er niets van..

Acties:
  • 0 Henk 'm!

Verwijderd

als je verwijst naar /directory/bestand.ext, dan wordt in de root van de schijf op je server gezocht naar het door jou opgegeven pad. Je moet die eerste slash weghalen, of er ./directory/bestand.ext van maken.

offtopic:
Aantal postings 2
Gemiddeld aantal postings per dag 1
Geregistreerd op Wednesday 31 October 2001 12:29
:)

Acties:
  • 0 Henk 'm!

  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:56
logisch denk ik
$filename = '/Testmap/Occs/$foto.JPG';
-->
$filename = "Testmap/Occs/".$foto.".JPG";

binnen ' ' kijkt php geloof ik niet en zal die dus letterlijk kijken of $foto.JPG bestaat en houd er rekening mee dat op *n*x systemen case sensetive wordt gewerkt

edit:
indeed ACM lekker vanaf de root kijken zal weinig zin hebben

[ Voor 74% gewijzigd door cybermans op 24-03-2003 14:57 ]

Strava | Runkeeper | Endomondo (mijn leikr uploads)


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ik durf te wedden dat er geen map /Testmap/... is...

Wellicht een Testmap/... of een ./Testmap/.

edit:

[/laat] :)

[ Voor 12% gewijzigd door ACM op 24-03-2003 14:56 ]


Acties:
  • 0 Henk 'm!

Verwijderd

cybermans: dat komt beide op hetzelfde neer. De laatste zal waarschijnlijk sneller zijn, omdat je hier netjes concatineer, en bij de eerste gooi je gewoon een variabele in een string. Volgens mij zal het allebei werken :)

Acties:
  • 0 Henk 'm!

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 04-09 19:14
Zoals ACM al zegt. /Testmap/ dan wordt naar Testmap op je root disk gezocht. Je kunt dus beter iets als /home/jouwusername/public_html/Testmap/ gebruiken.

zeroxcool.net - curity.eu


Acties:
  • 0 Henk 'm!

  • nore1g1
  • Registratie: Oktober 2001
  • Laatst online: 27-08 13:56
Hij vindt wel bestanden omdat we het plaatje geenfoto.JPG wel op het scherm krijgen dat met die .. en het weghalen van de / hebben we al geprobeerd en levert geen resultaat op.

Acties:
  • 0 Henk 'm!

Verwijderd

ZeRoXcOoL schreef op 24 maart 2003 @ 14:57:
Zoals ACM al zegt. /Testmap/ dan wordt naar Testmap op je root disk gezocht. Je kunt dus beter iets als /home/jouwusername/public_html/Testmap/ gebruiken.
niet mee eens... als je je script nou ergens anders gebruikt, of je site verhuisd naar een andere server? Ik zou kiezen voor een verwijzing vanuit de directory waar het script staat, dus "../../iets" of "./dir/iets"...

Acties:
  • 0 Henk 'm!

  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:56
zoek de verschillen:
PHP:
1
2
$filename = '/Testmap/Occs/$foto.JPG'; 
else echo "$foto.JPG"


maybe wel 2x dezelfde file gebruiken

Strava | Runkeeper | Endomondo (mijn leikr uploads)


Acties:
  • 0 Henk 'm!

  • nore1g1
  • Registratie: Oktober 2001
  • Laatst online: 27-08 13:56
Gaven we daarboven al aan voor de php code... maar we hebben ze even allemaal in de php code gezet. Code geupdate.. Thx voor alle opties tot nu toe ..

Acties:
  • 0 Henk 'm!

  • nore1g1
  • Registratie: Oktober 2001
  • Laatst online: 27-08 13:56
PHP:
1
2
3
4
5
6
7
[img]"<?
$foto[/img]Id; 
$filename = "./Occs/$foto.JPG"; 

if (!file_exists($filename)) echo "./Occs/geenfoto.JPG"; 
else echo "./Occs/$foto.JPG" ;
?>
met dank aan ACM, dat was het juiste spoor :P Thx iedereen :P
Pagina: 1