Portál AbcLinuxu, 12. května 2025 03:27
Ahoj :)
Mám tak trochu problém :) Napsal jsem si script na upload obrázků, ale na serveru na netu je zaplý safe mode :( Nevíte nějaký ekvivalent na
move_uploaded_file()
Vyhazuje mi to:
Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid/gid is 1001/102 is not allowed to access /users/zalohovane/dochazkovnik.com/dochazkovnik.com/Downloads/1226329420 owned by uid/gid 33/33 in /users/zalohovane/dochazkovnik.com/dochazkovnik.com/fotoup.php on line 187
děkuju :)
Aha, tak to asi bude moje chyba :( Ale stejně tomu nerozumím... jednoduchý script funguje, ale ten malinko složitější ne :(
//tohle je ten jednoduchý ;)
$slozka = "Downloads"; // Zde si napište svojí složku, do které se budou soubory ukládat (bez lomítka)
$cil = $slozka . "/" .$_FILES['fupload']['name']; // Toto je proměnná $cil, která obsahuje adresář, kde se má soubor uploadovat a taky název souboru.
$nazev_souboru = $_FILES['fupload']['tmp_name']; // Zjistí dočastné umístění souboru
$copy = move_uploaded_file($nazev_souboru, $cil); // A tady zkopíruje soubor z dočastného umístění do cílového souboru a složky
chmod ($cil, 0777);
//tohle ten maličko složitější
if($_FILES['fupload']['type']=="image/jpeg"){
if(!is_dir("Downloads/$t")){
mkdir("Downloads/$t", 0777);}
$slozka = "Downloads/$t"; // Zde si napište svojí složku, do které se budou soubory ukládat (bez lomítka)
$cil = $slozka . "/" .$_FILES['fupload']['name']; // Toto je proměnná $cil, která obsahuje adresář, kde se má soubor uploadovat a taky název souboru.
$nazev_souboru = $_FILES['fupload']['tmp_name']; // Zjistí dočastné umístění souboru
$copy = move_uploaded_file($nazev_souboru, $cil); // A tady zkopíruje soubor z dočastného umístění do cílového souboru a složky
chmod ($cil, 0777);
Nejseš vlastníkem adresáře, do kterého přesouváš.
sakra, ale dyť jsem ho tím scriptem vytvořil! :-/ no ale jestli je to ono, tak to fakt nevím jak na to páč to dost potřebuju udělaný tímhle způsobem :(
sakra, ale dyť jsem ho tím scriptem vytvořil!
No právě - jste vlastníkem skriptu jako souboru, ale vlastníkem spuštěného skriptu (jako procesu) je nobody
(asi). A pak už se to začne mydlit...
to řešení s ftp nevypadá vůbec špatně :) hned co budu mít čas tak se na to kouknu... :) díky moc :))
A nebo konečně zapomenout na safe mode, který stejně v příští verzi PHP nebude. Nebo, koneckonců, zapomenout na celé PHP :-)
http://cz2.php.net/manual/en/function.ftp-put.php
ehm ... asi jsem se trochu unahlil. co tam pridat:
if (!$connection_id) exit("Pripojeni k ftp selhalo");
? Nic lepsiho me momenalne nenapada.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.