137 return FALSE; |
137 return FALSE; |
138 } |
138 } |
139 else $this->_ftp_temp_sock=$this->_ftp_data_sock; |
139 else $this->_ftp_temp_sock=$this->_ftp_data_sock; |
140 } else { |
140 } else { |
141 if(!@socket_getsockname($this->_ftp_control_sock, $addr, $port)) { |
141 if(!@socket_getsockname($this->_ftp_control_sock, $addr, $port)) { |
142 $this->PushError("_data_prepare","can't get control socket information", socket_strerror(socket_last_error($this->_ftp_control_sock))); |
142 $this->PushError("_data_prepare","cannot get control socket information", socket_strerror(socket_last_error($this->_ftp_control_sock))); |
143 $this->_data_close(); |
143 $this->_data_close(); |
144 return FALSE; |
144 return FALSE; |
145 } |
145 } |
146 if(!@socket_bind($this->_ftp_data_sock,$addr)){ |
146 if(!@socket_bind($this->_ftp_data_sock,$addr)){ |
147 $this->PushError("_data_prepare","can't bind data socket", socket_strerror(socket_last_error($this->_ftp_data_sock))); |
147 $this->PushError("_data_prepare","cannot bind data socket", socket_strerror(socket_last_error($this->_ftp_data_sock))); |
148 $this->_data_close(); |
148 $this->_data_close(); |
149 return FALSE; |
149 return FALSE; |
150 } |
150 } |
151 if(!@socket_listen($this->_ftp_data_sock)) { |
151 if(!@socket_listen($this->_ftp_data_sock)) { |
152 $this->PushError("_data_prepare","can't listen data socket", socket_strerror(socket_last_error($this->_ftp_data_sock))); |
152 $this->PushError("_data_prepare","cannot listen data socket", socket_strerror(socket_last_error($this->_ftp_data_sock))); |
153 $this->_data_close(); |
153 $this->_data_close(); |
154 return FALSE; |
154 return FALSE; |
155 } |
155 } |
156 if(!@socket_getsockname($this->_ftp_data_sock, $this->_datahost, $this->_dataport)) { |
156 if(!@socket_getsockname($this->_ftp_data_sock, $this->_datahost, $this->_dataport)) { |
157 $this->PushError("_data_prepare","can't get data socket information", socket_strerror(socket_last_error($this->_ftp_data_sock))); |
157 $this->PushError("_data_prepare","cannot get data socket information", socket_strerror(socket_last_error($this->_ftp_data_sock))); |
158 $this->_data_close(); |
158 $this->_data_close(); |
159 return FALSE; |
159 return FALSE; |
160 } |
160 } |
161 if(!$this->_exec('PORT '.str_replace('.',',',$this->_datahost.'.'.($this->_dataport>>8).'.'.($this->_dataport&0x00FF)), "_port")) { |
161 if(!$this->_exec('PORT '.str_replace('.',',',$this->_datahost.'.'.($this->_dataport>>8).'.'.($this->_dataport&0x00FF)), "_port")) { |
162 $this->_data_close(); |
162 $this->_data_close(); |