script werkt niet...:(

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan

Johan

19/04/2004 21:01:00
Quote Anchor link
Hallo,

met dit stukje script:
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
42
43
44
<?
   $lastslash
= strrpos($HTTP_SERVER_VARS[SCRIPT_FILENAME],"/");
    $root = substr($HTTP_SERVER_VARS[SCRIPT_FILENAME],0,$lastslash+1);
    
    
    
    
    
    $fp = popen("$root/system/./jhead -se '$file' 2>&1", "r");
    while (!feof($fp)) {
              $buf .= fread($fp, 1024);
       }

        
        
        
       echo $buf;    
            
       if(!strstr($buf,"denied"))
       {

           $tmp = explode("\n",$buf);
           for($i = 0; $i <= count($tmp); $i++)
           {

               if($tmp[$i] != "")
               {

                   $tmp2 = explode(": ",$tmp[$i]);
                   $info[$i][key] = trim($tmp2[0]);
                   $info[$i][val] = trim($tmp2[1]);
               }    
           }

            
           echo "<table border=0 cellpadding=3 cellspacing=1 class=contenttable width=100%>\n\n";
        echo "<tr><td height=20>&nbsp;</td></tr>\n";
        echo "<tr class=row0><td colspan=2>Camera Instellingen</td></tr>\n";
        for($i = 0; $i <= count($info); $i++)
        {

            
            if($info[$i][key] && $info[$i][val])
                echo "<tr class=row1><td width=100>{$info[$i][key]}</td><td>{$info[$i][val]}</td></tr>\n";
            elseif($info[$i][key] && !$info[$i][val])    
                echo "<tr class=row1><td colspan=2>{$info[$i][key]}</tr>\n";
                
        }

    
?>


krijg ik deze error:

Fatal error: Maximum execution time of 10 seconds exceeded in /data/members/free/tripod/nl/j/o/h/johankrug/htdocs/fotos/index.php on line 372
en dat is deze lijn: while (!feof($fp)) {

wie kan mij helpen om te zorgen dat dit script het weer goed doet?? b.v.d. Johan
 
PHP hulp

PHP hulp

26/11/2024 02:59:08
 
Micha

Micha

19/04/2004 21:33:00
Quote Anchor link
$fp = popen("$root/system/./jhead -se '$file' 2>&1", "r");
while (!feof($fp)) {
$buf .= fread($fp, 1024);
}

Moet dat niet fopen zijn, in plaats van popen?
 
Johan

Johan

20/04/2004 07:04:00
Quote Anchor link
neuh, popen is een bestaande funcite(www.php.net/popen) maar met fopen werkt het ook niet, die error zit echt op line 372 en in mijn script is dat deze lijn: while(!feof($fp)).. maar het gekke is, met deze funcie:
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
<?
Function ImgSize($file)          
{

    $fp = popen("./jhead '$file' 2>&1", "r");
    while (!feof($fp)) {
              $buf .= fread($fp, 1024);
       }

        
       //Resolution : 1536 x 2048
       eregi("Resolution.* ([0-9]{1,}) x ([0-9]{1,})[^0-9]",$buf, $res);

    $res[0] = trim(substr($res[0],12));
        
       return $res;
}

?>

geeft ie geen error en daar zit dat while(!feof($fp)) ook in...

wie kan me helpen??
 
Micha

Micha

20/04/2004 16:12:00
Quote Anchor link
$fp = popen("$root/system/./jhead -se '$file' 2>&1", "r");
while (!feof($fp)) {
$buf .= fread($fp, 1024);
}

Het licht in ieder geval aan de inhoud van popen();
Denk dat dit niet klopt:

$root/system/./jhead -se '$file' 2>&1
 
Johan

Johan

20/04/2004 17:30:00
Quote Anchor link
uh.. volgens mij klopt het wel, want het komt uit dit script: http://www.phphulp.nl/php/scripts/1/69...
 
Micha

Micha

20/04/2004 17:55:00
Quote Anchor link
Fatal error: Maximum execution time of 10 seconds exceeded in /data/members/free/tripod/nl/j/o/h/johankrug/htdocs/fotos/index.php on line 372

Nu ik die error zie..
Hij probeert 10 seconden om dat bestand te openen, maar dat lukt niet.
Kan je wel bij die bestanden komen?
En hebben ze chmod?
 
Eris -

Eris -

20/04/2004 18:24:00
Quote Anchor link
Nee het is wat anders:
Apache stopt de huige proces als hij langer dan 10 er over doet.

Er is dus gewoon ergens een oneindige loop

while (!feof($fp)) {
$buf .= fread($fp, 1024);
}

Dit klopt niet hee :)

Volgens mij is dit die oneindige loop
 
Johan

Johan

21/04/2004 17:41:00
Quote Anchor link
tja ik heb het uit een script, dus dat moet je tegen de maker zeggen hea(in dit geval Bas) maaruh.. ik kan deze loop dus gewoon niet gebruiken?? das jammâh.. iemand een andere oplossing misschien??
 
Rick

Rick

21/04/2004 20:08:00
Quote Anchor link
Quote:
Nee het is wat anders:
Apache stopt de huige proces als hij langer dan 10 er over doet.

Er is dus gewoon ergens een oneindige loop

while (!feof($fp)) {
$buf .= fread($fp, 1024);
}

Dit klopt niet hee :)

Volgens mij is dit die oneindige loop
das geen oneindige loop hoor
!feof betekent zolang we nog niet aan het einde van het bestand zitten gaan we door
kom je aan het einde dan stopt ie wel :P
 
Eris -

Eris -

22/04/2004 09:37:00
Quote Anchor link
Die error is gewoon een typisch geval voor een "oneidige" loop.

Of het bestand is te groot.
 
Rick

Rick

22/04/2004 13:29:00
Quote Anchor link
daar heb je gelijk in ja, maar dat stukje code is gewoon goed
 
Johan

Johan

22/04/2004 19:06:00
Quote Anchor link
dus als ik het goed begrijp gaat het niet met dat bestand, omdat het te groot is?? ow, das jammer maarja, niks aan te doen...
 
Rick

Rick

22/04/2004 19:21:00
Quote Anchor link
probeer dit eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=implode('',file('bestand.ext'));?>
 



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.