[php] Open_basedir probleem

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Ik zit met een nogal lastig probleem,heb al veel gezocht en hosting bedrijf gemaild maar nog niets gevonden/teruggehad

Ik heb een script geschreven om plaatjes in een mysql database te zetten, het script werkt goed bij mijn eigen server, maar de site komt op een nederland.net server en daar draaien ze dus blijkbaar savemode, als ik daar een plaatje probeer up te loaden krijg ik deze fout:

Warning: open_basedir restriction in effect. File is in wrong directory.
Warning: fopen("/tmp/phplGPlTi","r") - Invalid argument

hoe los ik dit probleem op?

code :
code:
1
2
3
4
5
6
7
8
        $fd = fopen( $File, "r");
        $data = addslashes(fread($fd, filesize($File)));
        fclose($fd);

        $size=getimagesize($File); 

$sql   = "Update images Set Format='$File_type', Image='$data' Where Id='$id'";
mysql_query($sql) or die ("query failed". mysql_error());


ik stuur met een form type file de file aan, Thuis werkt het wel goed maar op die server dus niet..

[ Voor 8% gewijzigd door Verwijderd op 21-11-2002 19:30 . Reden: ff overzichtelijker ]


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 17-09 14:46

TheDane

1.618

dit al gelezen ?

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Dit ziet er uit als een configuratiefout van je hoster... Ik vrees dat je er zelf niet veel aan kunt doen. Kijk hier eens naar. Dit zou je probleem op moeten lossen

[ Voor 46% gewijzigd door kvdveer op 21-11-2002 20:01 ]

Localhost, sweet localhost


Verwijderd

Topicstarter
ja ik had dat al gelezen.. en ik gebruik geen Copy.. want daarvoor kan je Move_uplaoded_file gebruiken.. maar ik gebruik fopen, misschien moet ik eerst de file naar een temp dir sturen en dan fopen?

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Op het moment dat je via een form een file stuurt maakt de server een tijdelijke file aan en copieert 'm vervolgens onder de naam die jij opgeeft naar de directorie die jij opgeeft. Wat jij probeert te doen is die tijdelijke file openen en dat kan niet (volgens mij)
Je moet dus de file hebben zoals ie wordt weggeschreven door je script
kijk ff bij php.net onder $HTTP_POST_FILES of $_FILES (maar net welke versie van PHP je gebruikt). Dat zou wat verheldering moeten geven

//edit
waarom zet je eigenlijk plaatjes in een database? Het lijkt me een stuk efficienter om de verwijzing naar het plaatje in je database te zetten.

[ Voor 15% gewijzigd door marty op 21-11-2002 21:07 ]


Verwijderd

Topicstarter
$File_type=$HTTP_POST_FILES['File']['type'];
move_uploaded_file($HTTP_POST_FILES['File']['tmp_name'], "/var/www/websites/nederland/groepen/***/tmp");
$fd = fopen("/var/www/websites/nederland/groepen/*****/tmp", "r");
$data = addslashes(fread($fd, $HTTP_POST_FILES['File']['size']));
fclose($fd);

Ok gelukt.. thnx.., alleen dit werkt alleen op php4 en ik draai php3.. naja ga ik morge ff met host bellen.. moest toch omgezet worden naar php4..

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok met men provider gebeld.. word van server geswitched.. dan moet hij eindelijk werken..
Pagina: 1