Autor Zpráva
perwin
Profil
Ahoj,
potřebuji radu. Jako mám script na vytvoření složky pomocí PHP:
<?php
$adresar = "/web.cz/web/fotky/".$jmeno; 
$ftp_server = "server"; 
$ftp_login = "jmeno"; 
$ftp_heslo = "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); 
?>
tak potřebuji PHP script na přejmenování složky. Existuje nějaký? Prosím poraďte. Děkuji
Tori
Profil
ftp_rename. Je ve stejné části manuálu, jako ty ostatní FTP funkce...
perwin
Profil
Tori:
Upravil jsem ten script takto:
<?php
$conn_id = "server"; 
$ftp_user_name = "jmeno"; 
$ftp_user_pass = "heslo";
$old_dir = $oldnick;
$new_dir = $newnick;
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_rename($conn_id, 'fotky'.$old_dir, 'fotky'.$new_dir);
ftp_close($conn_id);
?>

Jenže to nic neudělá.. Prosím poraďte. Dík
AM_
Profil
proměnné oldnick a newnick se berou kde?
perwin
Profil
AM:
Tohle je součást scriptu na změnu nicku uživatele. $oldnick je jeho stará nick, který musí zadat (správně, jinak ho to dal nepusti a přesměruje zpět) a $newnick je jeho nový nick, kterým chce změnit ten starý... celý script zde:
<?php
ob_start();  
session_start();             
  if(isset($_POST['sent'])){     
    $oldnick=$_POST['oldnick'];
    $newnick=$_POST['newnick'];
    $heslo=md5($_POST['passp']);

   require "db.php";  
if($oldnick!="$_SESSION[login]" or $newnick=="" or $heslo!="$_SESSION[heslo]" or $newnick=="$oldnick"){
 header('Location: index.php?page=mujucet&Alert=1');
}else{ 
$conn_id = "server"; 
$ftp_user_name = "jmeno"; 
$ftp_user_pass = "heslo";
$old_dir = $oldnick;
$new_dir = $newnick;
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_rename($conn_id, 'fotky'.$old_dir, 'fotky'.$new_dir);
ftp_close($conn_id);
mysql_query("UPDATE uzivatele SET jmeno='$newnick' WHERE jmeno='$oldnick' ") or die (mysql_error());
header('Location: logout.php?logout=yes');  
}
}
?>
Tori
Profil
perwin:
Nemá tam být absolutní cesta (/web.cz/web/fotkyUzivatel), když už jste ji použil v [#1]?
perwin
Profil
Tori:
Ikdyž tam dám toto:

$old_dir = "web.cz/web/fotky/".$oldnick;
$new_dir = "web.cz/web/fotky/".$newnick;

Tak to nefunguje...
Tori
Profil
Ani toto?
$old_dir = "/web.cz/web/fotky".$oldnick; 
?
Petr__
Profil *
perwin:
Jednou uvádíte:
$old_dir = "web.cz/web/fotky/".$oldnick; 

pak zasejinde máte:
'fotky'.$old_dir


Není problém v tom chybějícím/přebývajícím lomítku?
AM_
Profil
perwin:
if($oldnick!="$_SESSION[login]" or $newnick=="" or $heslo!="$_SESSION[heslo]" or $newnick=="$oldnick"){
strašný zápis. Má to být takto:
if($oldnick!=$_SESSION['login'] or $newnick=="" or $heslo!=$_SESSION['heslo'] or $newnick=="$oldnick"){

funguje sice obojí, ale troufám si říci (a nejsem sám), že používání tvého zápisu je špatné.

$old_dir = $oldnick;
$new_dir = $newnick;
opravdu je potřeba zakládat další proměnné se stejným obsahem?

souhlasím, problém bude v lomítcích a absolutní adrese, zkus je sjednotit a nebo si třeba jen echem vypiš, jaký adresář to vlastně přejmenováváš (dej echo na to, co máš jako parametry ftp_rename, abys zjistil, co té funkci vlastně předáváš).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: