Hi,
ich hab ein Problem beim Uploaden meiner Bilder.
Local funkts super, aber online bekomm ich immer eine Fehlermeldung:
Warning: getimagesize() [function.getimagesize]: open_basedir restriction in effect. File(D:\_temp\php\php2B3C.tmp) is not within the allowed path(s):
(D:/_user/201/p/e/xxx/xxx.com/www) in D:\_user\201\p\e\xxx\xxx.com\www\admin\gallerie_admin.php on line 51
Warning: getimagesize(D:\_temp\php\php2B3C.tmp) [function.getimagesize]: failed to open stream: Operation not permitted in D:\_user\201\p\e\xxx\xxx.com\www\admin\gallerie_admin.php on line 51
Hier das Upload-Script:
if(isset($_POST["kollektionsnr"]))
{
$aendern=$_POST['aendern'];
$anlegen=$_POST['anlegen'];
$einfuegen=$_POST['einfuegen'];
$loeschen=$_POST['loeschen'];
$datei = $_FILES["upload"];
$b_name=$datei["tmp_name"];
$b_originalname=$datei["name"];
$b_originalname = preg_replace("|[^a-zA-Z0-9_.]|","",$b_originalname);
if(($_POST["kollektionsnr"]!=0)&&($b_originalname!=""))
{
foreach($_POST as $key=>$unit)
{
if(get_magic_quotes_gpc()){
$$key=trim($unit);
}
else{
$$key = addslashes(trim($unit));
}
}
$fehler = "";
if($datei["name"])
{
$imagedata=getimagesize($b_name);
$breite=$imagedata[0];
$hoehe=$imagedata[1];
$y=$imagedata[1];
if ($imagedata[2]!=2)
{
$fehler="Bei der Datei handelt es sich nicht um ein jpg!";
}
else if(file_exists("../bilder/gallery/".$b_originalname))
{
$fehler="Bild bereits vorhanden!";
}
if($fehler=="")
{
if($y>385)
{
$y=385;
$x=(($imagedata[0]/$imagedata[1])*$y);
$neueBreite=$x;
$image=imagecreatefromjpeg($b_name);
$tumb=imagecreatetruecolor($x,$y);
imagecopyresized($tumb,$image,0,0,0,0,$x,$y,$imagedata[0],$imagedata[1]);
imagejpeg($tumb,"../bilder/gallery/".$b_originalname);
}
else copy($b_name,"../bilder/gallery/".$b_originalname);
$y=135;
$x=(($imagedata[0]/$imagedata[1])*$y);
$image=imagecreatefromjpeg($b_name);
$tumb=imagecreatetruecolor($x,$y);
imagecopyresized($tumb,$image,0,0,0,0,$x,$y,$imagedata[0],$imagedata[1]);
imagejpeg($tumb,"../bilder/gallery/p_".$b_originalname);
mysql_query("INSERT INTO bilder VALUES('','$b_originalname','$neueBreite','$kollektionsnr')");
header("LOCATION:".$_SERVER["PHP_SELF"]."?aendern=".$aendern."&anlegen=".$anlegen."&einfuegen=".$einfuegen."&loeschen=".$loeschen."&".session_name()."=".session_id()."&erfolg2=1#2");
}
else
{
header("LOCATION:".$_SERVER["PHP_SELF"]."?aendern=".$aendern."&anlegen=".$anlegen."&einfuegen=".$einfuegen."&loeschen=".$loeschen."&fehler2=".$fehler."#2");
}
}
}
else
{
$fehler="Bitte gib eine Gallerie und ein Bild an!";
header("LOCATION:".$_SERVER["PHP_SELF"]."?aendern=".$aendern."&anlegen=".$anlegen."&einfuegen=".$einfuegen."&loeschen=".$loeschen."&fehler2=".$fehler."#2");
}
}
Wird mit diesem Formular initialisiert:
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data">';
if(isset($_GET['erfolg2']))echo'<tr><td colspan="2" class="erfolg" height="10" align="left" valign="top">Bilder erfolgreich hochgeladen!</td></tr>';
if(isset($_GET['fehler2']))echo'<tr><td colspan="2" class="fehler" height="10" align="left" valign="top">'.$_GET['fehler2'].'</td></tr>';
echo'<tr>
<td class="schrift" height="10" width="60">Gallerie:</td>
<td valign="top" height="10">
<select name="kollektionsnr">';
$res=mysql_query("SELECT id,kollektionDeutsch FROM gallerien ORDER BY id");
if(mysql_num_rows($res)>0)
{
while($zeige = mysql_fetch_array($res))
{
$kollektionsnr = $zeige["0"];
$kollektion = $zeige["1"];
echo "<option value='".$kollektionsnr."'>".$kollektion."</option>";
}
}
echo' </select>
</td>
</tr>
<tr>
<td class="schrift" height="10">Bild:</td>
<td valign="top"><input type="hidden" name="MAX_FILE_SIZE" value="2097152"><input type="file" name="upload" size="27"></td>
</tr>
<tr>
<td height="10" valign="top"> </td>
<td>
<input type="hidden" name="aendern" value="'.$_GET['aendern'].'">
<input type="hidden" name="anlegen" value="'.$_GET['anlegen'].'">
<input type="hidden" name="einfuegen" value="'.$_GET['einfuegen'].'">
<input type="hidden" name="loeschen" value="'.$_GET['loeschen'].'">
<input type="submit" name="senden" value="speichern"></td>
</tr>
</form>';
Bitte um Hilfe!
ich hab ein Problem beim Uploaden meiner Bilder.
Local funkts super, aber online bekomm ich immer eine Fehlermeldung:
Warning: getimagesize() [function.getimagesize]: open_basedir restriction in effect. File(D:\_temp\php\php2B3C.tmp) is not within the allowed path(s):
(D:/_user/201/p/e/xxx/xxx.com/www) in D:\_user\201\p\e\xxx\xxx.com\www\admin\gallerie_admin.php on line 51
Warning: getimagesize(D:\_temp\php\php2B3C.tmp) [function.getimagesize]: failed to open stream: Operation not permitted in D:\_user\201\p\e\xxx\xxx.com\www\admin\gallerie_admin.php on line 51
Hier das Upload-Script:
if(isset($_POST["kollektionsnr"]))
{
$aendern=$_POST['aendern'];
$anlegen=$_POST['anlegen'];
$einfuegen=$_POST['einfuegen'];
$loeschen=$_POST['loeschen'];
$datei = $_FILES["upload"];
$b_name=$datei["tmp_name"];
$b_originalname=$datei["name"];
$b_originalname = preg_replace("|[^a-zA-Z0-9_.]|","",$b_originalname);
if(($_POST["kollektionsnr"]!=0)&&($b_originalname!=""))
{
foreach($_POST as $key=>$unit)
{
if(get_magic_quotes_gpc()){
$$key=trim($unit);
}
else{
$$key = addslashes(trim($unit));
}
}
$fehler = "";
if($datei["name"])
{
$imagedata=getimagesize($b_name);
$breite=$imagedata[0];
$hoehe=$imagedata[1];
$y=$imagedata[1];
if ($imagedata[2]!=2)
{
$fehler="Bei der Datei handelt es sich nicht um ein jpg!";
}
else if(file_exists("../bilder/gallery/".$b_originalname))
{
$fehler="Bild bereits vorhanden!";
}
if($fehler=="")
{
if($y>385)
{
$y=385;
$x=(($imagedata[0]/$imagedata[1])*$y);
$neueBreite=$x;
$image=imagecreatefromjpeg($b_name);
$tumb=imagecreatetruecolor($x,$y);
imagecopyresized($tumb,$image,0,0,0,0,$x,$y,$imagedata[0],$imagedata[1]);
imagejpeg($tumb,"../bilder/gallery/".$b_originalname);
}
else copy($b_name,"../bilder/gallery/".$b_originalname);
$y=135;
$x=(($imagedata[0]/$imagedata[1])*$y);
$image=imagecreatefromjpeg($b_name);
$tumb=imagecreatetruecolor($x,$y);
imagecopyresized($tumb,$image,0,0,0,0,$x,$y,$imagedata[0],$imagedata[1]);
imagejpeg($tumb,"../bilder/gallery/p_".$b_originalname);
mysql_query("INSERT INTO bilder VALUES('','$b_originalname','$neueBreite','$kollektionsnr')");
header("LOCATION:".$_SERVER["PHP_SELF"]."?aendern=".$aendern."&anlegen=".$anlegen."&einfuegen=".$einfuegen."&loeschen=".$loeschen."&".session_name()."=".session_id()."&erfolg2=1#2");
}
else
{
header("LOCATION:".$_SERVER["PHP_SELF"]."?aendern=".$aendern."&anlegen=".$anlegen."&einfuegen=".$einfuegen."&loeschen=".$loeschen."&fehler2=".$fehler."#2");
}
}
}
else
{
$fehler="Bitte gib eine Gallerie und ein Bild an!";
header("LOCATION:".$_SERVER["PHP_SELF"]."?aendern=".$aendern."&anlegen=".$anlegen."&einfuegen=".$einfuegen."&loeschen=".$loeschen."&fehler2=".$fehler."#2");
}
}
Wird mit diesem Formular initialisiert:
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data">';
if(isset($_GET['erfolg2']))echo'<tr><td colspan="2" class="erfolg" height="10" align="left" valign="top">Bilder erfolgreich hochgeladen!</td></tr>';
if(isset($_GET['fehler2']))echo'<tr><td colspan="2" class="fehler" height="10" align="left" valign="top">'.$_GET['fehler2'].'</td></tr>';
echo'<tr>
<td class="schrift" height="10" width="60">Gallerie:</td>
<td valign="top" height="10">
<select name="kollektionsnr">';
$res=mysql_query("SELECT id,kollektionDeutsch FROM gallerien ORDER BY id");
if(mysql_num_rows($res)>0)
{
while($zeige = mysql_fetch_array($res))
{
$kollektionsnr = $zeige["0"];
$kollektion = $zeige["1"];
echo "<option value='".$kollektionsnr."'>".$kollektion."</option>";
}
}
echo' </select>
</td>
</tr>
<tr>
<td class="schrift" height="10">Bild:</td>
<td valign="top"><input type="hidden" name="MAX_FILE_SIZE" value="2097152"><input type="file" name="upload" size="27"></td>
</tr>
<tr>
<td height="10" valign="top"> </td>
<td>
<input type="hidden" name="aendern" value="'.$_GET['aendern'].'">
<input type="hidden" name="anlegen" value="'.$_GET['anlegen'].'">
<input type="hidden" name="einfuegen" value="'.$_GET['einfuegen'].'">
<input type="hidden" name="loeschen" value="'.$_GET['loeschen'].'">
<input type="submit" name="senden" value="speichern"></td>
</tr>
</form>';
Bitte um Hilfe!