Autor Zpráva
DTX
Profil
nejde mi vytvořit adrešář pomoci php.
vypis části scriptu:

if(!is_dir("../../fotky/".$autor_id))
{
$adresar = "../../fotky/".$autor_id;

$ftp_server = "ftp.muj_web.cz";
$ftp_login = "login_jmeno";
$ftp_heslo = "heslo";

$ftp = ftp_connect($ftp_server);
$login_result = ftp_login($ftp, $ftp_login, $ftp_heslo);
ftp_mkdir($ftp, $adresar);
$prava=ftp_site($ftp, "CHMOD 0777 '$adresar'");

ftp_close($ftp);
}

id_uzivatele je id přihlášeného uživatele předávane pomoci session
účelem téhle části scriptu je vytvořit složku s názvem rovným id_uzivatele, do které se pak budou ukládat fotky
Peca
Profil
A co na tom nejde? Buď to jde, nebo se vypíše nějaká chyba, ne?
DTX
Profil
sorrac:

Warning: ftp_mkdir(): Can't create directory: No such file or directory in /srv/www/lovsumcu.cz/subdomains/www/include/galerie_upload_jine/upload _script.php on line 40

Warning: ftp_site(): Could not change perms on 'fotky/1': No such file or directory in /srv/www/lovsumcu.cz/subdomains/www/include/galerie_upload_jine/upload _script.php on line 41

Warning: move_uploaded_file(../../fotky/1/3dfc9bd3b7ddc17e965ffeff0f6cff59.jpg) : failed to open stream: No such file or directory in /srv/www/lovsumcu.cz/subdomains/www/include/galerie_upload_jine/upload _script.php on line 46

Warning: move_uploaded_file(): Unable to move '/home/www/lovsumcu.cz/tmp/phpjDhYCP' to '../../fotky/1/3dfc9bd3b7ddc17e965ffeff0f6cff59.jpg' in /srv/www/lovsumcu.cz/subdomains/www/include/galerie_upload_jine/upload _script.php on line 46

pokud se nevytvori slozka, je celkem logicke ze neni kam prasknout to foto, takze si tech ostatnich hlasek nevsimej
Peca
Profil
$adresar = "../../fotky/".$autor_id;
Zkus odstranit lomítko nakonci.
aa
Profil *
to nebude tím, lomítko tam může bejt. problém bude v právech... musíš mít prává 777.
DTX
Profil
ten script je z ************************/ a měl by fachčit, měl by... :-(
To lomítko tam je proto, že script se nachází ve složce INCLUDE/UPLOAD/ a o dvě "patra" výš je složka fotky, v ní se má vytvořit složka s názvem $id_uzivatele do které se mají uložit odesílané fotky.

Zádrhel č.1: složka se nevytváří (a pak to jede šupem)
Zádrhel č.2: není složka --> není kam kopírovat
Zádrhel č.3: není-li zkopírováno --> není co uložit do DB

atd. ...

možná by stačilo opravdu jen změnit složku na 777...

prubnu to...
OndrejCZE
Profil *
OT:
Nebude to tim ze mas opsany nick od DGX?
djlj
Profil
OndrejCZE
Myslím, že to, že mu to nefunguje, nemá s nickem nic společného ;)
tiso
Profil
a měl by fachčit, měl by
Na nete nájdeš kopec skriptov ktoré sú závislé na nastaveniach PHP a niekde fungujú a niekde nie...
Každopádne by si si mal skontrolovať premenné, a ošetrovať chyby - vôbec netestuješ či si sa na to ftp nalogoval...
DTX
Profil
S nickem to nema nic společného, pokud vynechám vytvoření složky, všecko fachčí.
Ještě dotaz: Kdo nebo co je to DGX??
DTX
Profil
normálně jsem nepochopil uprava scriptu a voala: FACHČÍ!!!!

SCRIPT:

<?php
global $autor_id;
// promene pro pripojeni
if(session_is_registered('log') && session_is_registered('id'))
{$autor_id = $_SESSION['id'];}

$cilova_slozka = "../../fotky/".$autor_id."/".$_FILES['obrazek']['name'];
$max_velikost = 2097152;
$povolene_typy = array("image/pjpeg", "image/jpeg");
$max = ($max_velikost/1024/1024);

$chyba = "Obr&aacute;zek typu JPG nebo JPEG mus&iacute; m&iacute;t max. ".$max."Mb.";

if($odeslat == "upload")
{ // kontrola formularovych dat

if($obrazek == "none"){$chyba = "Nespecifikovali jste obr&aacute;zek!<br>";}
else if($obrazek_size >= $max_velikost){$chyba = "V&aacute;&scaron; soubor je vět&scaron;&iacute; než ".$max_velikost."kb!";}
else if(!in_array($obrazek_type, $povolene_typy)){$chyba = "Soubor není typu JPG nebo JPEG!<br>";}
else if($orientace == ""){$chyba = "Nespecifikovali jste orientaci obr&aacute;zku!<br>";}
else if($autor_id == ""){$chyba = "Nem&aacute;te opr&aacute;vněn&iacute; pro upload!<br>";}
else if($kde == "none"){$chyba = "Nespecifikovali jste lokalitu!<br>";}
else if($info == ""){$chyba = "Nevyplnily jste popis!<br>";}


else // upload
{$chyba = "";
if(!file_exists($cilova_slozka))
{
if(!is_dir("../../fotky/".$autor_id))
{

$adresar = "subdomains/www/fotky/".$autor_id;

$ftp_server = "ftp.vasweb.cz";
$ftp_login = "vaslogin.cz";
$ftp_heslo = "vase_heslo";

$ftp = ftp_connect($ftp_server) or die("UNABLE TO CONNECT FTP");
$login_result = ftp_login($ftp, $ftp_login, $ftp_heslo) or die("UNALE TO LOGIN");
$dir = ftp_mkdir($ftp, $adresar);
$prava=ftp_site($ftp, "CHMOD 0777 $adresar");

ftp_close($ftp);

}

if(!file_exists($obrazek_name))
{ /*co je treba ulozit: autor_id, obrazek, orientace, kde, vlozeno */
move_uploaded_file($_FILES['obrazek']['tmp_name'], $cilova_slozka);
$obrazek_kde = $autor_id."/".$obrazek_name;

if(!file_exists($obrazek_name))
{
@$pripoj = mysql_connect($DBhost, $DBuzivatel, $DBheslo) or die("UNABLE TO CONNECT DATABASE");
$DB = mysql_select_db($DBdatabaze) or die("UNABLE TO SELECT DATABASE");
$dotaz_zapis = "INSERT INTO jmeno_tabulky (autor_id, obrazek, orientace, kde, info) VALUES ('$autor_id', '$obrazek_kde', '$orientace', '$kde', '$info')";
mysql_query($dotaz_zapis) or die ("UNABLE TO PROCEED WITH QUERY");

$chyba = "soubor ".$obrazek_name." byl zkopirovan";
}
}
}
else{$chyba = "soubor ".$obrazek_name." již existuje, pozmente jmeno souboru a zkuste to znovu";}
}// upload konec
}

?>

script je celý, jestli chcete zbytek(upload formulář), tak se ozvěte
věřím, že sami pochopíte jak funguje... :-)
postupem času přidám i úpravu fotek během uploadu (komprimace, progresivita, kvalita) pak se pochlubim
SPeeDY99
Profil
Len pre istotu by som tu urcite nedaval fukcne heslo na FTP.
DTX
Profil
sem si to uvědomil až dneska v práci... :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0