Portál AbcLinuxu, 12. května 2025 03:27

Dotaz: Safe Mode - PHP

1.12.2008 19:37 Pana_Ruplahlava | skóre: 4
Safe Mode - PHP
Přečteno: 1084×
Odpovědět | Admin

 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 :)

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.12.2008 19:52 Pana_Ruplahlava | skóre: 4
Rozbalit Rozbalit vše Re: SAFE MODE - PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin

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);

1.12.2008 22:11 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: SAFE MODE - PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin

Nejseš vlastníkem adresáře, do kterého přesouváš.

1.12.2008 22:28 Pana_Ruplahlava | skóre: 4
Rozbalit Rozbalit vše Re: SAFE MODE - PHP

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 :( 

1.12.2008 22:33 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: SAFE MODE - PHP
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...

I am always ready to learn although I do not always like to be taught. (W. Churchill)
1.12.2008 22:13 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: SAFE MODE - PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
S tímhle jsem měl taky problém a nakonec (po mnoha hodinách zkoušení a hledání na Internetu) jsem jako jediné řešení objevil, že budu některé věci vytvářet přes FTP (čímž budou mít soubory stejného vlastníka jako skript a safe-mod nebude nadávat).

Moc hezky jsou ty problémy popsány tady (ale bez konkrétního řešení), trik s FTP přístupem je např. zde (ale myslím, že jsem ho původně viděl jinde, ale už tu stránku nedokážu najít)...
I am always ready to learn although I do not always like to be taught. (W. Churchill)
1.12.2008 22:30 Pana_Ruplahlava | skóre: 4
Rozbalit Rozbalit vše Re: SAFE MODE - PHP

to řešení s ftp nevypadá vůbec špatně :) hned co budu mít čas tak se na to kouknu... :) díky moc :)) 

2.12.2008 10:14 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: SAFE MODE - PHP

A nebo konečně zapomenout na safe mode, který stejně v příští verzi PHP nebude. Nebo, koneckonců, zapomenout na celé PHP :-)

 

stybla avatar 2.12.2008 20:10 stybla | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: SAFE MODE - PHP

+1
je cas udelat Safe mode (a globals) .o/~

20.12.2008 13:59 Pana_Ruplahlava | skóre: 4
Rozbalit Rozbalit vše Re: SAFE MODE - PHP
Tak jsem si na to sedl a pokusil to vyřešit jinak... Už to téměř funguje na server to dostanu, jediné co zlobí je ftp_put...
Kód:
Warning: ftp_put() expects parameter 1 to be resource, null given in /users/zalohovane/dochazkovnik.com/dochazkovnik.com/fotoup.php on line 196

což je hezké, vím co to znamená, ale nevím co s tím, kombinací jsem zkoušel asi 150... nepomůže mi někdo?
Moc moc prosím! :)
tady mám zdroják

Kód:
if($_FILES['fupload']['type']=="image/jpeg"){ // Pokud soubor bude mít kocovku .php, upload se neprovede a vypíše hlášku
if(!is_dir("Downloads/$t")){
$ftp_server="anastacia.gransy.com";
$conn_id = ftp_connect($ftp_server);
$ftp_user_name='dochazkovnik.com';
$ftp_user_pass='abeceda';
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_mkdir($conn_id ,"Downloads/$t");
ftp_chmod($conn_id, 0777, "Downloads/$t");}
$slozka = "Downloads/$t"; // Zde si napište svojí složku, do které se budou soubory ukládat (bez lomítka)
$cil = $slozka . "/" ; // 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
$fp = fopen($nazev_souboru, 'r+');
$remote_file = $_FILES['userfile']['name'];
ftp_put($conn_id,$remote_file ,$fp, FTP_BINARY); //tady je bug...

if($copy == true){ atd...
stybla avatar 20.12.2008 16:34 stybla | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: SAFE MODE - PHP

http://cz2.php.net/manual/en/function.ftp-put.php

20.12.2008 17:17 Pana_Ruplahlava | skóre: 4
Rozbalit Rozbalit vše Re: SAFE MODE - PHP
jo podle toho jsem to samozdřejmě zkoušel, ale neúzpěšně :(
stybla avatar 21.12.2008 02:19 stybla | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: SAFE MODE - PHP

ehm ... asi jsem se trochu unahlil. co tam pridat:

if (!$connection_id) exit("Pripojeni k ftp selhalo");

? Nic lepsiho me momenalne nenapada.

21.12.2008 14:52 Pana_Ruplahlava | skóre: 4
Rozbalit Rozbalit vše Re: SAFE MODE - PHP
jo su pako
to připojení na ftp jsem měl v {} závorkách a tak mi to nefungovalo :) Díky za help :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.