Foutmelding na uploaden,
Ik heb al gekeken of het aan de schrijfrechten licht, maar dit is niet het geval.
De foutmelding:
Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/tmp/phpvmk5bh) is not within the allowed path(s): (/usr/home/ws/boers/) in /usr/home/ws/boers/www.hnieuws.nl/www/include/foto_bijvoegen.php on line 83
Warning: move_uploaded_file(/tmp/phpvmk5bh) [function.move-uploaded-file]: failed to open stream: Operation not permitted in /usr/home/ws/boers/www.hnieuws.nl/www/include/foto_bijvoegen.php on line 83
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpvmk5bh' to 'http://www.tonboers.nl/bearsterns2_200_0.jpg' in /usr/home/ws/boers/www.hnieuws.nl/www/include/foto_bijvoegen.php on line 83
Mijn schrijfrechten staan op 777
Gewijzigd op 01/01/1970 01:00:00 door Ton Boers
Error #1: Open_basedir() zorgt al voor een error. /tmp/phpvmk5bh geeft een error.
Error #2: 'Operation not permitted' => operatie niet toegestaan. De stream kan niet geopend worden, omdat de rechten dit niet toestaan.
Error #3: Move_uploaded_file() kan '/tmp/phpvmk5bh' niet naar 'http://www.tonboers.nl/bearsterns2_200_0.jpg' sturen.
Geef ook even een voorbeeldje en een stuk script.
Code (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
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
<?
if(isset($_POST['pl_toevoegen']))
{
$plaatje_naam = $_FILES['plaatje']['name'];
$plaatje_size = $_FILES['plaatje']['size'];
$plaatje_type = $_FILES['plaatje']['type'];
$plaatje_tmp = $_FILES['plaatje']['tmp_name'];
$plaatje_naam_array = explode('.',$plaatje_naam);
$achter = count($plaatje_naam_array)-1;
$plaatje_ext = $plaatje_naam_array[$achter];
$bestandnaam = "";
for($i=0; $i<$achter; $i++)
{
$bestandnaam .= $plaatje_naam_array[$i];
if($i+1 != $achter){$bestandnaam .= ".";}
}
if(!in_array($plaatje_ext, $exts))
{echo "- ".$error['ext']."<br />";}
if(!in_array($plaatje_type, $types))
{echo "- ".$error['type']."<br />";}
if($plaatje_size > $size_max)
{echo "- ".$error['size']." <br />";}
elseif(in_array($plaatje_ext, $exts) && in_array($plaatje_type, $types) && $plaatje_size <= $size_max)
{
$i_naam = 0;
while(file_exists($map."/".$bestandnaam."_".$i_naam.".".$plaatje_ext))
{$i_naam = $i_naam + 1;}
$bestandnaam = $bestandnaam."_".$i_naam;
$bestandnaam_db = $bestandnaam.".".$plaatje_ext;
$input_plaatje = $map."/".$bestandnaam_db;
move_uploaded_file($plaatje_tmp, $input_plaatje);
mysql_query("INSERT INTO `".$tabel."` (`id`, `naam`, `ext`,`nid`) VALUES ('', '".$bestandnaam."', '".$plaatje_ext."', '$nidl')") or die(mysql_error());
echo $goed_up;
}
}
?>
if(isset($_POST['pl_toevoegen']))
{
$plaatje_naam = $_FILES['plaatje']['name'];
$plaatje_size = $_FILES['plaatje']['size'];
$plaatje_type = $_FILES['plaatje']['type'];
$plaatje_tmp = $_FILES['plaatje']['tmp_name'];
$plaatje_naam_array = explode('.',$plaatje_naam);
$achter = count($plaatje_naam_array)-1;
$plaatje_ext = $plaatje_naam_array[$achter];
$bestandnaam = "";
for($i=0; $i<$achter; $i++)
{
$bestandnaam .= $plaatje_naam_array[$i];
if($i+1 != $achter){$bestandnaam .= ".";}
}
if(!in_array($plaatje_ext, $exts))
{echo "- ".$error['ext']."<br />";}
if(!in_array($plaatje_type, $types))
{echo "- ".$error['type']."<br />";}
if($plaatje_size > $size_max)
{echo "- ".$error['size']." <br />";}
elseif(in_array($plaatje_ext, $exts) && in_array($plaatje_type, $types) && $plaatje_size <= $size_max)
{
$i_naam = 0;
while(file_exists($map."/".$bestandnaam."_".$i_naam.".".$plaatje_ext))
{$i_naam = $i_naam + 1;}
$bestandnaam = $bestandnaam."_".$i_naam;
$bestandnaam_db = $bestandnaam.".".$plaatje_ext;
$input_plaatje = $map."/".$bestandnaam_db;
move_uploaded_file($plaatje_tmp, $input_plaatje);
mysql_query("INSERT INTO `".$tabel."` (`id`, `naam`, `ext`,`nid`) VALUES ('', '".$bestandnaam."', '".$plaatje_ext."', '$nidl')") or die(mysql_error());
echo $goed_up;
}
}
?>
Regel 34 doet het probleem zich op.
move_uploaded_file($plaatje_tmp, $input_plaatje);
(is in mijn pagina regel 83.)
Ton Boers schreef op 17.03.2008 17:13:
Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/tmp/phpvmk5bh) is not within the allowed path(s):
De map /tmp/ is blijkbaar voor jou verboden terrein. Vraag je provider waarom die 'algemene map /tmp/' is geblocked.
ik stuurde hem toen naar een extrene server, nu ik hem wederom naar mijn eigen server stuurd blijft hij de foutmelding weergeven.
Weet niemand een oplossing?
Ik heb een eigen script geschreven daarvoor
maar eigenlijk geef ik dit script liever niet tenzei
iemand voor mij een werkend inlogsysteem heeft met een database erbij
dat kan ik het hier wel posten
M.v.g. Jesper
Heeft iemand nog een idee hoe ik dit probleem kan oplossen?