move_uploaded_file nie działa :(

0

Mam stronę na hostingu home.pl. Używałem tego samego skryptu wcześniej i było wszystko ok. Chciałem sobie wytestować inne skrypty, więc wszystko usunąłem i po wy testowaniu znowu wgrałem wcześniejsze skrypty (między innymi ten). Teraz jest coś nie tak z move_upload_file i wyskakuje mi błąd "error".

$plik_tmp = $_FILES['plik']['tmp_name']; 
$plik_nazwa = $_FILES['plik']['name']; 
$plik_rozmiar = $_FILES['plik']['size']; 
$ftp_serwer            = "";
$ftp_nazwa_uzytkownika = "";
$ftp_haslo             = "";

$conn_id = ftp_connect($ftp_serwer) or die("Nie można połączyć się z $ftp_serwer");

if (@ftp_login($conn_id, $ftp_nazwa_uzytkownika, $ftp_haslo)) {
	if(!strtolower(end(explode('.',$_FILES[upload][name])))!='jpg')  
{  

  echo 'Przesyłany plik nie jest obrazem JPG !'; exit();  
}  
else
{

   $logs_dir = "public_html/bg/";
ftp_chdir($conn_id, $logs_dir);
$files = ftp_nlist($conn_id, ".");
foreach ($files as $file)
{
    ftp_delete($conn_id, $file);
}    


}
if(is_uploaded_file($plik_tmp)) { 
     move_uploaded_file($plik_tmp, "bg/$plik_nazwa"); 
    echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze 
    <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!"; 
} 
else
{echo"Error";}
}
	
 else {
    echo "Nie można zalogować się jako $ftp_nazwa_uzytkownika\n";
	}
ftp_close($conn_id); 
0

Sprawdź czy katalog do którego chcesz przenieść plik tmp istnieje i czy skrypt ma odpowiednie uprawnienia do zapisu w tym katalogu.

0

Istnieje i skrypt ma uprawnienia, bo przecież się loguję do FTP

1

A czy move_uploaded file nie powinno przenieść tego pliku do public_html/bg/$plikNazwa?
Sprawdzałeś przed wykonaniem tej funkcji co siedzi w $_FILES ?

Ad.1 Nie stosuj małpy przy funkcjach.
Ad.2 Używaj angielskich nazw zmiennych

0

Usunąłem jakieś pliki tymczasowe i teraz wyskakują inne błędy.

Warning: move_uploaded_file(bg//tmp/phpKT7drr): failed to open stream: No such file or directory in /bg_db.php on line 35

Warning: move_uploaded_file(): Unable to move '/tmp/phpKT7drr' to 'bg//tmp/phpKT7drr' in /bg_db.php on line 35
Plik: 5445eab640f87_1920x1200.jpg o rozmiarze 1159469 bajtów został przesłany na serwer! Usunieto! Rekord został dodany poprawnie. (oczywiście jednak nie został przesłany)

1

Masz tu chyba problem ze ścieżkami do plików - względne i bezwzględne. Jeśli wcześniej używałeś tego lokalnie lub na innym hostingu - to mogło działać. Zobacz w jakiej domyślnej ścieżke odpala się Twoja strona (http://php.net/manual/en/function.getcwd.php)

0

Jak używam polecenia echo getcwd() . "\n"; to zwraca mi tylko "/". Jeżeli chcę zmienić bieżący katalog na "public_html" to wyświetla mi się error:
Warning: chdir(): No such file or directory (errno 2) in /bg_db.php on line 6

1 użytkowników online, w tym zalogowanych: 0, gości: 1