#1 2014-09-04 16:28:32

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Upload přes php - FTP_PUT error

Mým cílem je takový malý formulář pro odesílání souborů do mého FTP tady na Endoře napojený na php skript:

Po kliknutí na tlačítko se skript připojí (connected), login tedy proběhne, pak se soubor pár vteřin nahrává, procenta dole na status baru dorazí na 100%, pak zpráva "čekám na odpověd serveru.....", a pak skript skončí chybou.

http://knihovnaneee.8u.cz/anf.html
Tady je výstup :

Connected to srva0.endora.cz, for user kristianchytry
FTP upload has failed!
Exiting ...



Jak zjistit v čem je problém?

FluxBB bbcode test

kod skriptu je tady:

FluxBB bbcode test

Upravil kristianchytry (2014-09-04 16:41:07)

Offline

#2 2014-09-04 16:40:50

Lkopo
Podpora
Registrován: 2010-02-12
Příspěvky: 1,916
Web

Re: Upload přes php - FTP_PUT error

Nikde nevidím deklarovanú premennú $TargetName.


Portfólio
E-mail: eduard(at)karpiel.sk

Offline

#3 2014-09-04 16:45:36

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Re: Upload přes php - FTP_PUT error

TargetName přichází z formuláře výše:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Upload a File</title>
</head>
<body>
File Upload<br>
<br>
<br>
<form enctype="multipart/form-data" action="upload.php" method="post">
<input name="MAX_FILE_SIZE" value="100000"
  type="hidden">Choose a file to upload: <input
  name="uploadedfile" type="file"><br>
<br>
Name on Server: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
<input maxlength="20" size="20" name="TargetName"><br>
<br>
<input value="Upload File" type="submit">
</form>
</body>
</html>

Upravil kristianchytry (2014-09-04 16:46:45)

Offline

#4 2014-09-04 16:51:37

Lkopo
Podpora
Registrován: 2010-02-12
Příspěvky: 1,916
Web

Re: Upload přes php - FTP_PUT error

Ale samotná premenná ($TargetName) nie je deklarovaná. To čo robíte by fungovalo jedine ak by register_globals bol zapnutý, ale od verzie PHP 4.2.0 je register_globals je nastavený na Off z bezpečnostných dôvodov. Od PHP 5.3 je táto vec už zastaralá. Takže túto premennú si budete musieť deklarovať:

$TargetName = trim($_POST['TargetName']);

Viac info o register_globals nájdete napr. tu: http://stackoverflow.com/questions/3593 … als-in-php


Portfólio
E-mail: eduard(at)karpiel.sk

Offline

#5 2014-09-04 17:02:22

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Re: Upload přes php - FTP_PUT error

Diky moc. To jsem nevedel, Jsem php zacatecnik, ALE upravil jsem kod a stale stejna chyba

<?php
// Set up the settings
// ******
// ******
// We can give you a dedicated additional FTP logon just for this ....
$ftp_server = 'srva0.endora.cz';
$ftpuser = 'kristianchytry';
$ftppass = '************';

// Capture the file  details from the input form ...
$source1 = $_FILES['uploadedfile']['tmp_name'];
$source2 = $_FILES['uploadedfile']['name'];
$source_file = $source1;
$TargetName = trim($_POST['TargetName']);

// Set the target folder ....
$target_dir = "/knihovnaneee.8u.cz/web/new/";
// Build the full target filename ...
$target = $target_dir . $TargetName;
// Connect to the webserver...
$conn_id = ftp_connect($ftp_server);
// Login with username and password
$login_result = ftp_login($conn_id, $ftpuser, $ftppass);
// Check connection
if ((!$conn_id) || (!$login_result)) {
        print ("FTP connection has failed!<BR>");
        print ("Attempted to connect to " . $ftp_server . " for user " . $ftpuser ."<BR>");
        exit;
    } else {
        print ("Connected to " . $ftp_server . ", for user " . $ftpuser . "<BR>");
    }
// Upload the file .....
$upload = ftp_put($conn_id, $target, $source_file, FTP_ASCII); 
// Check upload status
if (!$upload) {
        print ("FTP upload has failed! <BR>");
    } else {
        print ($source2 . " Uploaded as " . $target . "<BR>");
        print ("Upload OK <BR>");
    }
// Close the connection ...
ftp_close($conn_id);
print ("Exiting ...<BR>");
?>

Upravil kristianchytry (2014-09-04 17:03:05)

Offline

#6 2014-09-04 17:08:03

Lkopo
Podpora
Registrován: 2010-02-12
Příspěvky: 1,916
Web

Re: Upload přes php - FTP_PUT error

Skúste zmeniť tieto riadky:

$target_dir = "/knihovnaneee.8u.cz/web/new/";

na

$target_dir = "knihovnaneee.8u.cz/web/new/";

a

$upload = ftp_put($conn_id, $target, $source_file, FTP_ASCII); 

na

$upload = ftp_put($conn_id, $target, $source_file, FTP_BINARY); 

Portfólio
E-mail: eduard(at)karpiel.sk

Offline

#7 2014-09-04 17:09:26

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Re: Upload přes php - FTP_PUT error

Přidal jsem print ("TARGET" . $target);
a najednou to běží, nechápu a ještě jednou strašně moc díky.. se s tím peru snad hodinu

Offline

#8 2014-09-04 17:43:10

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Re: Upload přes php - FTP_PUT error

Tak jsem náhodně nahrál uspešně asi 3 soubory a už to zase nefunguje..
V čem může být problém?

Upravil kristianchytry (2014-09-04 17:44:12)

Offline

#9 2014-09-04 20:46:43

Lkopo
Podpora
Registrován: 2010-02-12
Příspěvky: 1,916
Web

Re: Upload přes php - FTP_PUT error

Skúsili ste zmeniť na FTP_BINARY?


Portfólio
E-mail: eduard(at)karpiel.sk

Offline

#10 2014-09-05 00:17:12

JF
Endora rádce
Místo: ....nice u Plzně
Registrován: 2010-06-22
Příspěvky: 11,888

Re: Upload přes php - FTP_PUT error

Osobne ale nechápem prečo nahrávanie vykonávate pomocou FTP ak daný súbor ukladáte na FTP priestor kde je umiestnený i php skript ktorým súbor nahrávate. Tu by postačovalo použiť napríklad http://cz1.php.net/manual/en/function.m … d-file.php čo ušetrí tak 30 riadkov v php kóde.


Ján Fačkovec - Endora.cz by Webglobe
Email, Web, Webadmin, Webmail, Nápověda, Ceník

Offline

#11 2014-09-05 13:49:44

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Re: Upload přes php - FTP_PUT error

Lkopo napsal:

Skúsili ste zmeniť na FTP_BINARY?

změnil, nepomohlo

Offline

#12 2014-09-05 13:51:01

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Re: Upload přes php - FTP_PUT error

JF napsal:

Osobne ale nechápem prečo nahrávanie vykonávate pomocou FTP ak daný súbor ukladáte na FTP priestor kde je umiestnený i php skript ktorým súbor nahrávate. Tu by postačovalo použiť napríklad http://cz1.php.net/manual/en/function.m … d-file.php čo ušetrí tak 30 riadkov v php kóde.

nefunguje viz:
http://podpora.endora.cz/viewtopic.php?id=10201

Offline

#13 2014-09-05 14:03:22

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Re: Upload přes php - FTP_PUT error

NOVÉ ZJIŠTĚNÍ:
FUNGUJE JEN PRO MENŠÍ SOUBORY - 70KB

CHYBA SE PROJEVUJE AŽ U VĚTŠÍCH

co s tím? potřebuju uploadovat 1000KB

Upravil kristianchytry (2014-09-05 14:15:24)

Offline

#14 2014-09-05 23:41:52

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Re: Upload přes php - FTP_PUT error

Založil jsem nové téma, protože jde v podstatě o úplně jiný problém - jakési omezení uploadu souborů nad 500kB,kteremu nerozumím.

Offline

#15 2014-09-05 23:48:42

Destroyer
Endora rádce
Registrován: 2009-11-01
Příspěvky: 2,097
Web

Re: Upload přes php - FTP_PUT error

nemam problem, nahral jsem k vam soubor o vel. 2.8MB

Offline

#16 2014-09-06 06:19:33

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Re: Upload přes php - FTP_PUT error

Můžete mi napsat podrobnosti?
Nikde ho na ftp nevidím

Upravil kksmirice (2014-09-06 08:37:48)

Offline

#17 2014-09-06 12:25:48

Destroyer
Endora rádce
Registrován: 2009-11-01
Příspěvky: 2,097
Web

Re: Upload přes php - FTP_PUT error

soubor   CZ7901_RT-N12D1_Manual_Czech.pdf    2 865 337

Offline

Zápatí

Založeno na FluxBB | CZ a SK