PHP script werkt bij sommige pc's wel en bij andere niet

Pagina: 1
Acties:

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-09 18:17
Is ons netwerk hebben we een website met wat php scripts voor oa het uploaden van foto's Dit script werkt prima bij mij maar bij een huisgenoot niet. Cache is geleegd dus daar licht het ook niet aan.

de code
PHP:
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
    <?} elseif($dbase=="foto") {
            
            set_time_limit(60); 
            $path1 = dirname($PATH_TRANSLATED)."/upload/"; 
            $source = $file1; 
            $source_name = $file1_name; 
            
            if(($source <> "none")&&($source <> "")){ 
                $dest = $path1.$source_name; 
                if(copy($source, $dest)){ 
                    $imagesize = getimagesize($dest); 
                    if ($imagesize[0] <= 950) {
                        switch($imagesize[2]) { 
                        case 0: 
                            echo "<br> Onbekend bestandsformaat <br>"; 
                            unlink($dest); 
                            ?><form><input type="button" value="Terug" onClick="history.back()"></form><?
                            exit; 
                        case 1: 
                            echo "<br> Geen JPEG ! <br>"; 
                            unlink($dest); 
                            ?><form><input type="button" value="Terug" onClick="history.back()"></form><?
                            break; 
                        case 2: 
                            $newname = $path1; 
                            $tijd = time();
                            $newname .=$tijd . ".jpg"; 
                            if(copy($dest,$newname)) { 
                                echo "<br> Het plaatje is succesvol gekopieert"; 
                            } 
                            $echt = $tijd . ".jpg";
                            $query = "INSERT INTO foto (msgID, text, fotonaam, categorie, van) VALUES (NULL, '$commentaar', '$echt', '$categorie', '$naam')";
                            $result = mysql_query($query);
                            unlink ($dest); 
                            break; 
                        }
                    } else {
                        ?> Bestand is te breed (meer dan 950 pixels)<BR>
                        Resize hem en upload hem nog een keer.<BR><BR>
                        <form action="update.php">
                        <input type="hidden" name="actie" value="<? echo $actie; ?>">
                        <input type="hidden" name="dbase" value="<? echo $dbase; ?>">
                        <input type="hidden" name="activate" value="0">
                        <input type="submit" value="Nog een keer"></form><?
                        unlink($dest); 
                    }
                } else { 
                    echo "Uploaden is niet goed gegaan!<br>\n"; 
                    echo "Neem contact op met de webmaster !<br>\n"; 
                } 
            } 
            unlink($source);  // fout ivo
        } // einde foto loop


Op regel 110 wordt bij hem een warning gegeven: unlink failed

de variabelen:
dbase: om te melden met welke database er gewerkt wordt (dit is een algemeen script)
file1: bestand datgeslecteerd is door de browser

Wat kan er aan de hand zijn?

if broken it is, fix it you should


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Heeft $source wel een waarde die jij wilt?
Het heeft niet toevallig hiermee te maken he: [rml][ php] iets.php?blaat=blaa werkt niet meer :'([/rml]

En wat is er anders op de servers waar ie niet werkt?

Kan zijn dat je met een rechtenprobleem zit, maar de source-file van een fileupload wordt sowieso verwijderd door de php-engine als je klaar bent met je script.

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-09 18:17
ACM schreef op 23 augustus 2002 @ 20:47:
Heeft $source wel een waarde die jij wilt?
Het heeft niet toevallig hiermee te maken he: [rml][ php] iets.php?blaat=blaa werkt niet meer :'([/rml]

En wat is er anders op de servers waar ie niet werkt?

Kan zijn dat je met een rechtenprobleem zit, maar de source-file van een fileupload wordt sowieso verwijderd door de php-engine als je klaar bent met je script.
nee het gaat om 1 server met meerdere clients. Bij mij (als client) werkt ie wel en bij de buurman van me (=huisgenoot) niet. Het script draait op 1 server.

En dat laatste automagisch verdwijderen; werkt dat ook al bij php 3 (omdat de oorsprong hiervan van die tijd was)

if broken it is, fix it you should


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-09 18:17
schop

if broken it is, fix it you should


  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 12-07 11:54
if (file_exist($source)) unlink($source);
Zou dat iets zijn?
Nog een fout, wat als source "none"is, m.a.w. de unlink staat verkeerd!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-09 18:17
stekkel schreef op 24 augustus 2002 @ 19:42:
if (file_exist($source)) unlink($source);
Zou dat iets zijn?
Nog een fout, wat als source "none"is, m.a.w. de unlink staat verkeerd!
Beter lezen...

Als de source !none of !nix is wordt alles uitgevoerd (en bestaat source dus en is die gekopieerd). Als ie in dit scriptje komt moet source bestaan of none of nix zijn en in dat geval wordt dat geskipt.

En als dat het geval mocht zijn is het nog apart dat mijn pc dat wel slikt en die van mijn huisgenoot niet

Edit:
$source_name zou dan ook leeg moeten zijn (en das niet het geval omdat copy geen fout geeft)

if broken it is, fix it you should


Verwijderd

PHP:
1
2
3
4
5
if(($source <> "none")&&($source <> ""))
{  
    // .. more code          
}  
unlink($source);  // fout ivo 

Dit geeft altijd een foutmelding als je "source" niet bestaat, je probeert hem alsnog te verwijderen ? Lijkt erop dat de upload bij je collega gewoon misgaat ?

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-09 18:17
Verwijderd schreef op 24 augustus 2002 @ 23:42:
PHP:
1
2
3
4
5
if(($source <> "none")&&($source <> ""))
{  
    // .. more code          
}  
unlink($source);  // fout ivo 

Dit geeft altijd een foutmelding als je "source" niet bestaat, je probeert hem alsnog te verwijderen ? Lijkt erop dat de upload bij je collega gewoon misgaat ?
ik heb hem nu verwijderd omdat dat niet nodig scheen te zijn en zal hem vandaag vragen of ie het wil testen.

En dat stukkie hierboven was idd fout, maar omdat source toch altijd wat was merkte ik dat nooit

if broken it is, fix it you should


  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 12-07 11:54
elgringo schreef op 24 augustus 2002 @ 22:50:
[...]


Beter lezen...

Als de source !none of !nix is wordt alles uitgevoerd (en bestaat source dus en is die gekopieerd). Als ie in dit scriptje komt moet source bestaan of none of nix zijn en in dat geval wordt dat geskipt.
maar als source "none" is of "" dan probeer je hem toch te unlinken ??
Pagina: 1