Portál AbcLinuxu, 12. května 2025 08:20

Dotaz: Upload souboru v PHP na pipni.cz

Zelená potvora avatar 30.8.2010 22:00 Zelená potvora | skóre: 10 | blog: Stenata69 | Plzeň
Upload souboru v PHP na pipni.cz
Přečteno: 1177×
Odpovědět | Admin
Zdravim,

tak zde budu otravovat zase ;)

Aplikaci na serveru jsem jiz zprovoznil a vse funguje jak ma,.. teda mimo uploadu fotky na server.

Uploaduje se mi do adresare kterej sem vytvoril pomoci PHP mkdir() a prava na tomto adresari mam 0777 ale nepovedlo se mi soubor zkopirovat...

Server bezi na pipni.cz a co jsem se tak docetl, tak je to celkem casty problem...

Nenapada nekoho jak tento problem vyresit? Nehostuje nekdo na pipni.cz a neresil ten samy problem?
http://www.kennel-apbt.com
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.8.2010 01:15 Non_E | skóre: 24 | blog: hic_sunt_leones | Pardubice
Rozbalit Rozbalit vše Re: Upload souboru v PHP na pipni.cz
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud je to možné, napiš sem zobrazenou chybovou hlášku (jestli tam žádná není, zkontroluj error_reporting a display_errors). Takhle je to věštění z křišťálové koule.
Only Sith deals in absolutes.
Zelená potvora avatar 31.8.2010 06:11 Zelená potvora | skóre: 10 | blog: Stenata69 | Plzeň
Rozbalit Rozbalit vše Re: Upload souboru v PHP na pipni.cz
Problem je, ze se mi nic nevypisuje. Ona se obrazovka hned prepise :(

Ale na obdobnem prikladu (ktery jsem si proto vytvoril) mi to pise

failed to open stream: Permission denied

Ackoliv prava adresare do ktereho zapisuju jsou 0777.

Nikde tam nemam .htaccess,...
http://www.kennel-apbt.com
31.8.2010 08:27 Jan Trávníček | skóre: 10 | blog: ehonza | Existuje
Rozbalit Rozbalit vše Re: Upload souboru v PHP na pipni.cz
Jestli to je při chyba na místě zápisu tak nevim ale některé servery mají security nastavení open_basedir tak že nejde zkopírovat uploadovaný tmp soubor k sobě přímo ale jenom pomocí move_uploaded_file.
To mess up a Linux box, you need to work at it; to mess up your Windows box, you just have to work on it.
Zelená potvora avatar 31.8.2010 08:35 Zelená potvora | skóre: 10 | blog: Stenata69 | Plzeň
Rozbalit Rozbalit vše Re: Upload souboru v PHP na pipni.cz
Ja prave move_upload_file pouzivam ...

On mozna bude problem ve vlastnikovi toho adresare. On se vytvori pod uzivatelem pod kterym jede Apache, ale php aplikace tam leze pod mym uzivatelem (pod uctem na pipni.cz). Pravdepodobne ignoruje prava zapisu...

Je nejaka moznost jak elegantne zmenit vlastnika adresare pomoci PHP, nebo pomoci .htaccess zpristupnit adresar uplne pro kazdeho?
http://www.kennel-apbt.com
31.8.2010 09:32 voda | skóre: 28
Rozbalit Rozbalit vše Re: Upload souboru v PHP na pipni.cz
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, já to u pípni kdysi řešil použitím ftp. Přibližně takto:
function FtpCopy($src, $dst) {
	$server='xxx'; // ftp server
	$connection = ftp_connect($server); // connection

	// login to ftp server
	$user = "xxx";
	$pass = "xxx";
	$result = ftp_login($connection, $user, $pass);

	// check if connection was made
	if ((!$connection) || (!$result)) {
		return false;
		exit();
	}

	// upload the file
	$upload = ftp_put($connection, $dst, $src, FTP_BINARY);
	ftp_chmod($connection,0666,$dst);
}
Zelená potvora avatar 31.8.2010 11:08 Zelená potvora | skóre: 10 | blog: Stenata69 | Plzeň
Rozbalit Rozbalit vše Re: Upload souboru v PHP na pipni.cz
Super, dekuji, snad to pujde nejak napasovat na tu aplikaci ;)
http://www.kennel-apbt.com
Zelená potvora avatar 31.8.2010 17:40 Zelená potvora | skóre: 10 | blog: Stenata69 | Plzeň
Rozbalit Rozbalit vše Re: Upload souboru v PHP na pipni.cz
Tak jsem zkusil primo tento script a vse vypada ze probehne v poradku (zadna chyba), ale nic se nikam nezkopiruje :(

Tuto funkci volam nasledovne:
$source = "./SETUP.txt";
$dst = "./pics/";
FtpCopy($source, $dst);
adresar pics ma nastavena prava 0777 a soubor SETUP.txt ma prava cteni pro vsechny...

Nejake napady?
http://www.kennel-apbt.com
1.9.2010 23:24 voda | skóre: 28
Rozbalit Rozbalit vše Re: Upload souboru v PHP na pipni.cz
Mě to funguje správně. Máš správně vytvořený ten ftp účet a cesty?
Zelená potvora avatar 31.8.2010 18:01 Zelená potvora | skóre: 10 | blog: Stenata69 | Plzeň
Rozbalit Rozbalit vše Re: Upload souboru v PHP na pipni.cz
Nasel jsem aj tento script:

$source_file = "test.txt";
$destination_file = "pics/";

$ftp_server = "ftp.test.com";
$ftp_user_name = "test";
$ftp_user_pass = "test";
// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// check connection
if ((!$conn_id) || (!$login_result)) { 
        echo "FTP connection has failed!";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name"; 
        die; 
    } else {
        echo "Connected to $ftp_server, for user $ftp_user_name";
    }

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); 

// check upload status
if (!$upload) { 
        echo "FTP upload has failed!";
    } else {
        echo "Uploaded $source_file to $ftp_server as $destination_file";
    }

// close the FTP stream 
ftp_close($conn_id); 
Vse probehne v poradku, dokonce i test nahrani, ale soubor na serveru fyzicky neni :(
http://www.kennel-apbt.com
5.10.2010 10:53 aitd84
Rozbalit Rozbalit vše Re: Upload souboru v PHP na pipni.cz
Odpovědět | | Sbalit | Link | Blokovat | Admin
váš problém má docela jednoduché řešení a odpověď se dá najít přímo na pipni.cz

"Jak mám správně vytvářet adresáře z PHP (se správným vlastníkem)? Kvůli SafeMode musíte adresáře vytvářet pomocí FTP funkcí v PHP, jinak bude vlastník adresáře PHP skript (UID) a nebudete schopni s ním rozumně pracovat, ..."

tzn.: k tvorbě adresáře a k nastavení práv použijte ftp funkce ftp_mkdir a ftp_chmod ... potom vám bude správě fungovat i fce move_uploaded_file .))

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.