Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Fehler bei Bilderupload [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Fehler bei Bilderupload


 
jackx
23-02-2004, 13:52 
 
hallo
ich habe mir ein Code gebastelt der Bilder auf den Server läd.
Habe das auch schon auf einer Seite laufen, wollte den gleichen Code für eine andere Seite nutzen.
Habe auch nen Ordner angelegt: images und den auf 777 gesetzt.
Bekomme aber immer die Fehlermeldung:
open_basedir restriction in effect. File(/tmp/phppVO26j) is not within the allowed path(s):
Der Webhoster ist bei der funktionierenden Seite und der mit der Fehlermeldung gleich.
Versteh ich nicht??!?!

 
Benny-one
23-02-2004, 13:55 
 
lass doch mal dein code sehen ;)

 
jackx
23-02-2004, 14:10 
 
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#0000FF" text="#C0C0C0">
<table width="75%" border="0">
<tr>
<td>

<a href="ausgabe.php">Ausgabe</a>




<?php
if ( $aufmacher) {
echo "<h3><b>$aufmacher\n</b></h3>";
}
?> <br>
<?php
if ( $text) {
echo "$text\n";
}
?> <br>
<?php
if ( $bilddatei_name) {
echo "<i><b>$bilddatei_name\n</b></i>";
}
?> <br>



<?php

$extlimit = "yes"; //Do you want to limit the extensions of files uploaded
$limitedext = array(".gif",".jpg",".png",".jpeg"); //Extensions you want files uploaded limited to.
$sizelimit = "yes"; //Do you want a size limit, yes or no?
$sizebytes = "100000"; //size limit in bytes
if($senden){
if($bilddatei!= "") {
if (($sizelimit == "yes") && ($bilddatei_size > $sizebytes)) {
echo "Die Bilddateiname ist zu gross, sie darf mamimal $sizebytes bytes sein.";
}
$ext = strrchr($bilddatei_name,'.');
if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
echo "Die Bilddateiname hat nicht die richtige Endung.";
}
//Der Ordner images liegt auf dem Server, dort werde die Bilder kopiert.
//falls im images Ordner der Name der Bilddatei schon existiert, dann soll eine Fehlermeldung kommen.
elseif (file_exists("./images/$bilddatei_name")) {
echo "Dateifehler......Bilddatei existiert schon";
}
//ansonsten wird die Datei im Ordner images kopiert
else{
copy($bilddatei,"./images/$bilddatei_name");
} }//if($bilddatei!= "") {
}//if($senden)
//im formular muss unbedingt enctype="multipart/form-data" enthalten!
?>
<?php
if ( isset( $aufmacher ) && isset( $text ) && isset( $bilddatei_name ))
{
// Überprüfe Benutzereingaben
$dberror = "";
$ret = in_db_einfuegen( $aufmacher, $text, $bilddatei_name);
if ( ! $ret )
print "Fehler: Die Bilddatei mit dem Namen $bilddatei_name ist in der Datenbank schon vorhanden. Bitte bennen Sie die Datei um oder wählen eine Andere. <BR>";
else
print "<table border= 0 width= 100% bordercolor= #808080 bordercolordark= #0000FF
bordercolorlight= #FF00FF >

<img src= danke.jpg\n
</td>
</table>
";

}
else {
ausgabe_formular();
}

function in_db_einfuegen( $aufmacher, $text, $bilddatei_name )
{

$db = "meinedb";
$link = mysql_pconnect("server", "uname", "passw");

if ( ! $link )
{
$dberror = "Keine Verbindung zu MySQL server";
return false;
}
if ( ! mysql_select_db( $db, $link ) )
{
$dberror = mysql_error();
return false;
}
$anfrage = "INSERT INTO flirt_user ( aufmacher, text, bilddatei_name )
values( '$aufmacher', '$text', '$bilddatei_name' )";
if ( ! mysql_query( $anfrage, $link ) )
{
$dberror = mysql_error();
return false;
}
return true;
}

function ausgabe_formular()

{
global $PHP_SELF;
print "Sie haben nicht alle/noch keine Angaben gemacht";
}
?>
<form name="mf" action="hochladen.php" method="get" enctype="multipart/form-data">
<p>
<input type="text" name="aufmacher" size="40" maxlength="40">
Beitragsaufmacher(max 40 Zeichen)</p>
<p>
<textarea name="text" cols="39" rows="10"></textarea>
Ihe Text max. 250 Zeichen</p>
<p>
<input type='file' name='bilddatei' value='durchsuchen'>
Bitte w&auml;hlen Sie ein Bild von Ihrer Festplatte aus.</p>
<p>
<input type='submit' name='senden' value='Bild hochladen'>
</p>
<p>&nbsp; </p>
<p>Der Beitragsaufmacher erscheint als &Uuml;berschrift <b>fett</b> gedruckt.</p>
<p>Der Text erschein rechts neben dem Bild</p>
<p>Maximale Bildbreite 120 Pixel</p>
</form> </td>
</tr>
</table>
<div id="Layer3" style="position:absolute; left:15px; link=#000000 ; top:277px; width:90px; height:40px; z-index:1">
</div>
<p>&nbsp;</p>
</body>
</html>

 
derHund
23-02-2004, 14:15 
 
hmm,

kannst du mal bitte folgende tags um deinen code machen?

[php ] dein code [/php ]

ohne die leerzeichen. nur hier im forum, damit wirs besser lesen können ...

wie lautet die gesamte fehlermeldung?

 
jackx
23-02-2004, 14:23 
 
Warning: copy() [function.copy]: open_basedir restriction in effect. File(/tmp/phplL08Lm) is not within the allowed path(s): (/home/vhosts/..../....) in /htdocs/vorab/hochladen.php on line 57

 
Benny-one
23-02-2004, 14:30 
 
moment, du lädst eine Datei von deinem Rechner aus auf deinen Server via copy()???

wenn ja, dann sollte das auch nicht gehen. Copy kopiert nur eine vorhandene Datei, oder irre ich mich.

du suchst glaube ich eher die funktion ftp_put();

 
Wurzel
23-02-2004, 14:32 
 
benutz statt copy() move_uploaded_file() und gewöhn dir am besten gleich
an, mit $_POST, $_GET, $_FILES zu arbeiten.

 
jackx
23-02-2004, 14:49 
 
kann sein das die Verzeichnisse nicht sauber auf 777 gesetzt werden mit Wise FTP.
Bin noch ziemlicher Anfänger mit PHP, habe move_uploaded_file() ausprobiert, einfach an die stelle kopiert wo Copy stand......gleiche Fehlermeldung.......was ist falsch an copy()?

 
Benny-one
23-02-2004, 14:51 
 
öhm, das copy() kopiert nur eine auf dem server vorhandene datei.

move_uploaded_file ( string filename, string destination); << geht nicht??

 
jackx
23-02-2004, 14:58 
 
Also Kopiert copy() nicht eine Bilddatei von meinem Rechner in das Verzeichnis auf dem Server????
Komisch das ich den gleichen Code auf einer anderen Seite einsetze.....und warums auf der anderen nicht geht verstehe ich überhaupt nicht.....wie gesagt, bin neuling in PHP........
Nichts desto trotz gehts auf der Seite wo ich es einbinden will,,,,,gleicher Webhoster, gleicher Code....nur die DB wurde angepasst, sonst nich, und es geht NICHT?

 
Benny-one
23-02-2004, 15:11 
 
kA, war ne vermutung das copy das so macht und ich verstehs so aus dem manual, kann mich natürlich irren.

 
marc75
23-02-2004, 16:28 
 
Original geschrieben von jackx
Warning: copy() [function.copy]: open_basedir restriction in effect. File(/tmp/phplL08Lm) is not within the allowed path(s): (/home/vhosts/..../....) in /htdocs/vorab/hochladen.php on line 57

wahrscheinlich steht safe_mode auf on

da gab es erst letzte woche ein Beitrag zum Thema musste mal suchen.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:39 Uhr.