[php] Eregi

Pagina: 1
Acties:

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 23:05
Mag ik bij een if(eregi($var)){
maar een regel na de if gebruiken??
Want ik heb deze function gemaakt maar nu doet hij toch de else als hij begint met images/
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
<?
function checkimage($file){
 if ( eregi("^images/([a-zA-Z0-9]).gif$", $file)) {
    //mag hieronder maar een regel staan???
    $name= eregi_replace("images/(.*).gif","\\1.gif",$file);
    $size=@GetImageSize($file);
    $bestand=filesize($file);
    $grootte=round($bestand / 1000, 2);
    $sizey = $size[0];
    $sizex = $size[1];
    if ($sizey>200){
      $deel= $sizey/200;
      $width = $sizey/$deel;
      $height = round($sizex/$deel);
    }else{
      $height = $sizex;
      $width = $sizey;
    }
    $url = "<br clear=\"all\">[img]\"$file\"[/img]";
 }else{
    $name=GeneratePWD();
    $fin=@fopen($file, 'r');
    $image=@fread($fin, 1024000);
    @fclose($fin);
    $fp=@fopen("images/$name.gif", "wb");
    @fwrite($fp, $image);
    @fclose($fp);
    unset($image);
    $size=@GetImageSize("images/$name.gif");
    $bestand=filesize("images/$name.gif");
    $grootte=round($bestand / 1000, 2);
    $sizey = $size[0];
    $sizex = $size[1];
    if ($sizey>200){
       $deel= $sizey/200;
       $width = $sizey/$deel;
       $height = round($sizex/$deel);
    }else{
       $height = $sizex;
       $width = $sizey;
    }
   if ($height!="" || $width!=""){
      $url="<br clear=\"all\">[img]\"images/$name.gif\"[/img]";
   }
 }
 return $url;
}
?>

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
tuurlijk mag dat wel. ik denk eerder dat je regex niet klopt (weet het wel zeker eigenlijk ;)). probeer dit eens:
code:
1
^images/[a-zA-Z0-9]+\\.gif$

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 22:34
Wat lul ik nou weer vaag |:(

Verwijderd

frankschers: [stukje php]
Paar vraagjes:
* Waarom [a-zA-Z0-9] en eregi?
* Mogen bestandsnamen meer dan een teken zijn (neem ik aan van wel)?
* Waarom de haakjes?
* Wat matcht een . ook al weer?
* Waarom "images/" van de string strippen als je al weet wat er achter moet komen na de eerste regex?

Misschien dat zoiets wat handiger is?
code:
1
2
3
4
5
6
7
function checkimage($file) {
    if (eregi("^images/([a-z0-9]+\.gif)$", $file, $match)) {
      $name = $match[1];
      // etc ...
    }
    // etc ...
}

Er zijn nog wel wat stukjes code die wat mooier kunnen maar ik doe de regexen hier. :+

Verwijderd

Trouwens, je wilt waarschijnlijk ereg hebben en niet eregi (tenzij je op Windows bezig bent waar het allemaal niet uitmaakt):
code:
1
2
3
4
5
6
7
function checkimage($file) {
    if (ereg("^images/([a-zA-Z0-9]+\.gif)$", $file, $match)) {
      $name = $match[1];
      // etc ...
    }
    // etc ...
}

(Bedenk je wat het verschil is tussen die twee...)