hilfe!! bild uploaden mit php auf IIS
Peter
- php
Hi leute....
Ich hab ein phpscript zum Bilduploaden .. Funktioniert auf UnixServer.. aber jetzt muß es leider ein WinNT IIS sein... kann keine Datei erstellen.. Nachdem ich auch kein CHKMOD setzen kann ... was soll ich tun?? Funktioniert das überhaupt?
Fehlermeldung: Warning: Unable to create '../big//1031821684.jpg': Permission denied in \admin\ext\bilder.php on line 43
Fehler beim Uploaden des groáen Bildes.
lg Peter
Hallo,
hast du einen PHP-Interpreter installiert?
IIS steht ja für asp...
bei deinem pfad steht da ein doppelter //... das geht sowieso nicht...
zur besseren analyse eventuell den quellcode mitliefern... meine kristallkugel ist noch nicht online...
außerdem muss der augenblickliche user die entsprechenden rechte besitzen dateien anzulegen... ohne authentifizierung ist dies normalerweise der I_USR
Odium
Hallo,
hast du einen PHP-Interpreter installiert?
Ist nicht mein Server .. muß diesen gewzungenermaßen nehmen.. ist ein kommerzieller server..php ist drauf
IIS steht ja für asp...
zur besseren analyse eventuell den quellcode mitliefern... meine kristallkugel ist noch nicht online...
stark vereinfacht.. hab alles rausgenommen... was nichts mit dem problem zutun hat .. also net auf die optik schaun
<?
function getFileExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
if(isset($be)){
$k = time();
$er = ".jpg";
$kuploaddir = "../small/";
$uploaddir = "../big";
$pext = getFileExtension($imgfile_name);
$pext = strtolower($pext);
if (($pext != "jpg") && ($pext != "jpeg")){
print "<h1>Fehler</h1>Bild Erweiterung Unbekannt<br>";
print "<p>Bitte nur Bilder mit .jpg oder .jpeg Kompression uploaden<br><br>";
print "Das Bild das sie upgeloadet haben, hatte folgende Kompression $pext</p>\n";
unlink($imgfile);
exit();
}
$imgsize = GetImageSize($imgfile);
if (($imgsize[0] > 250) || ($imgsize[1] > 200)){
$tmpimg1 = tempnam("/tmp", "MKUP");
system("djpeg $imgfile >$tmpimg1");
system("pnmscale -xy 400 300 $tmpimg1 | cjpeg -smoo 10 -qual 60 >$imgfile");
unlink($tmpimg1);
}
$final_filename = str_replace(" ", "_", $imgfile_name);
$newfile = $uploaddir . "/$k$er";
if (!copy($imgfile,"$newfile")){
print "Fehler beim Uploaden des Bildes.";
exit();
}
}
?>
<h2>Bild für Objekt einfügen</H2>
<form action="bilder.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1024000">
<input type=hidden name=id <?php print"value=$id";?>>
<input type=hidden name=be value=set>
<p>Upload Image: <input type="file" name="imgfile"><br>
<font size="1">Click browse to upload a local file</font><br>
<br>
<input type="submit" value="Bild Uploaden"></td>
</form>
außerdem muss der augenblickliche user die entsprechenden rechte besitzen dateien anzulegen... ohne authentifizierung ist dies normalerweise der I_USR
kann ich mir selbst rechte zum verzeichnissschreiben mittels php oder sonstwas geben oder nur der webmaster.. kenn mich mit WinDosen nicht so aus..
Peter
hi
$kuploaddir = "../small/";
$uploaddir = "../big";
solche Pfade dürften am save-mode von PHP scheitern.
Grüße aus Bleckede
Kai
hi
$kuploaddir = "../small/";
$uploaddir = "../big";
solche Pfade dürften am save-mode von PHP scheitern.
und wie war das noch gleich mit Windows-Pfaden("")?
Grüße
Andreas
Moin!
$kuploaddir = "../small/";
$uploaddir = "../big";
solche Pfade dürften am save-mode von PHP scheitern.
und wie war das noch gleich mit Windows-Pfaden("")?
Das würde ich nicht als Problem sehen, PHP setzt die / in \ um, wenn es an einen Dateizugriff geht. Außerdem macht es das Leben leichter, denn "" ist der Escape-Character, du müsstest also, um einen "" in den String zu bekommen, "\" schreiben - mehr als umständlich, und sehr fehlerträchtig. Außerdem nicht OS-kompatibel.
- Sven Rautenberg