Diskuze: Nahrání souboru - chyba
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 14 zpráv z 14.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Takové úryvky kódu, to co se týká nahrání:
define ("FILEREPOSITORY", "/images/");
$timestamp = time();
$filename = $timestamp;
$filename = strtolower($filename);
$final_location = "$filename";
move_uploaded_file($_FILES["file"]["tmp_name"],FILEREPOSITORY.$final_location.".png");
IMHO tam nemáš složku images, třeba jsi ve špatné složce. EDIT: Pak mě ještě napadá, jestli tam máš práva 777.
Asi to bude tím, že nemám práva, protože je soubor souteze a v té samé složce je pak složka images. A nevíš jak bych to mohl vyřešit?
Použil jsem ho takto:
chmod($_SERVER['DOCUMENT_ROOT']."/images/", 0644);
A hlásí mi to teď pro změnu: Warning: chmod(): Operation not permitted in /var/www/vhosts/3drealita.cz/httpdocs/souteze.php on line 153.
ty jsi na linuxu že? musíš jít do terminálu a tam napsat ten chmod abys mohl nastavit práva kdo tam muže a nemůže lezt (do té složky)...
ok a na localhostu to fungovalo?
Tak muže být víc důvodu, buď hosting má starou verzi php a nějak to blbne (nejspíš ne), nebo máš divný filename (to jsi říkal že ne), a nebo že na tom serveru kde běží tvůj web, tak ti nedovoluje vlézt do té složky. Skus najít nějaké tlačítko na hostingovém panelu kde by mělo být něco jako: "chmod 777" a nebo "set premissions to all folders"
Předpokládám, že hosting běží na Linuxu a ty se snažíš nahrát soubor do /images/1404481094.png a to je absolutní cesta. Správně by jsi měl napsat /var/www/vhosts/3drealita.cz/httpdocs/images/1404481094.png
Je lepší zadávat absolutní cesty.
Měl by jsi si poupravit
define ("FILEREPOSITORY", "/images/");
na
define ("FILEREPOSITORY", "/var/www/vhosts/3drealita.cz/httpdocs/images/");
Toto je jen příklad, aby jsi viděl, jak to má vypadat.
Zobrazeno 14 zpráv z 14.