xajax, upload, идея душевнобольного

vitalyk

Новичок
xajax, upload, идея душевнобольного

Поковырял xajax поработал с формами! Очень обрадывался как все прекрасно и задался чуть ли не библейский вопросом отправка файла на сервер без перезагрузки!

Естественно что массив $_FILES не передаеться.

И тут мне пришли идея а что если воспользоваться ftp то есть закачать через что нибудь типо ftp_put :)

По сути работать будет так.

Проверил если создать поле file и в нем выбрать файл то xajax передает путь до файла просто в пост-массиве это строчка ну типа "с:\..\...\блаблабла"

ну я и подумал что теперь эту строчку можно забивать в ftp_put и укачивать файл на сервер таким образом без перезагрузки вообще! Не в фрейме и ни в чем подобном :)

Вопрос о том на сколько это красиво(и безопасно)?

кто что думает?
 

vitalyk

Новичок
логично в функции! с которой xajax работать будет! пока не знаю! объясни чего я не вижу!
 

440hz

php.ru
Автор оригинала: vitalyk
логично в функции! с которой xajax работать будет! пока не знаю! объясни чего я не вижу!
скрипт выполняется на сервере. и как у тебя сервер получит доступ к твоему c:\...
 

vitalyk

Новичок
вот первый вариант пока он:

враждует с русским языком:
и сохраняет под одним и тем де именем!

но это просто исправить

1.надо отследить корень до файла и его убить что бы не было ошибки при отправки типа "caca/c:\klsdflk.txt"


но самое главное он работает!

<?php
require_once("xajax.inc.php");

function UploadFiles($aFormData){
$ftp_user_name = "newuser";
$ftp_user_pass = "wampp";
$destination_file = "xajax/1_test.jpeg";
$source_file = iconv('cp1251','utf-8',$aFormData['file1']);
$conn_id = ftp_connect("127.0.0.1");
$login_result = ftp_login($conn_id,"$ftp_user_name","$ftp_user_pass");
$upload = ftp_put($conn_id,"$destination_file","$source_file",FTP_BINARY);
ftp_quit($conn_id);
$sOut .= "thanks";
$objResponse = new xajaxResponse();
$objResponse->addAssign("theform", "innerHTML", $sOut);
return $objResponse->getXML();
}

$xajax = new xajax();
$xajax->registerFunction("UploadFiles");
$xajax->processRequests();

?>
<head>
<?php $xajax->printJavascript(); ?>
</head>
<form action="index.php" enctype="multipart/form-data" id="myform" onsubmit="xajax_UploadFiles(xajax.getFormValues('myform'));return false" method="post">
<input type="file" name="file1"/>
<input type="submit">
</form>
<div id="theform"></div>

-~{}~ 08.11.06 13:19:

Автор оригинала: 440hz
скрипт выполняется на сервере. и как у тебя сервер получит доступ к твоему c:\...
мы же используем ftp_put

сия функция php открывает ftp соединение! и закачивает файл на сервер по пути который ты ей укажешь!
 

Wicked

Новичок
vitalyk
твоя проблема в том, что у тебя и клиент, и сервер находятся на одной машине. Это мешает тебе понять разницу между ними, и усвоить, что то, что ты пытаешься сделать - в общем случае - сделать невозможно.
 

vitalyk

Новичок
интересно он себя ведет!


Fatal error: Call to undefined function: ftp_connect() in /home/www/upload/upload.php on line 2

:(

в чем же проблема! ?

-~{}~ 08.11.06 13:42:

никогда не сдамся! надо пробовать через сокеты! :)
 

vitalyk

Новичок
Автор оригинала: 440hz
заставь дурака богу молится - он башку расшибет ...
а ты я смотрю умный очень! ты мне очень помог! зачем таких вообще пускают на форумы! вместо того что конструктивное что-то сказать только и можете что опускать!
 

440hz

php.ru
Автор оригинала: vitalyk
а ты я смотрю умный очень! ты мне очень помог! зачем таких вообще пускают на форумы! вместо того что конструктивное что-то сказать только и можете что опускать!
1. тебя никто не "опускает". здесь не зона.
2. то, что ты пытешься сделать прокатит в частном случае когда вебсервер и клиент находятся на одном хосте.
3. слушай взрослых дяденек и шишек будет меньше а ума больше

ты скажи честно. ты понимаешь п.2?
 

deepslam

Новичок
Присоединяюсь, ты видишь диск C, т.к. у себя на компе все запускаешь....
 

440hz

php.ru
это все злые козни windows
скажу еще ...
плохому танцору что-то мешает ...

обложись документацией. проясни для себя, что же такое на самом деле, технология клиент-сервер и как все работает когда ты набираешь в броузере http://phpclub.ru

вот скажи мне. что происходит? расскажи своими словами и мы поправим тебя где ты скажешь не точно. глядишь и прояснение в сознаии наступит.

не бойся задать глупый вопрос. бойся его не задавать.
 

vitalyk

Новичок
меня догнало! :) действительно только из-за localhost всем спасибо!
 
Сверху