Hello How should understand this trace when uploading file to php
application:

what does eventPase = 2 means? same thing for bubbles=false?
[CODE]
progressHandler: name=4-nov-2007.gpx bytesLoaded=32768 bytesTotal=169869
progressHandler: name=4-nov-2007.gpx bytesLoaded=65536 bytesTotal=169869
progressHandler: name=4-nov-2007.gpx bytesLoaded=98304 bytesTotal=169869
progressHandler: name=4-nov-2007.gpx bytesLoaded=131072 bytesTotal=169869
progressHandler: name=4-nov-2007.gpx bytesLoaded=163840 bytesTotal=169869
progressHandler: name=4-nov-2007.gpx bytesLoaded=169869 bytesTotal=169869
completeHandler: [Event type="complete" bubbles=false cancelable=false
eventPhase=2]
[DataEvent type="uploadCompleteData" bubbles=false cancelable=false
eventPhase=2 data="0"][/CODE]

Print this message
Report this to a Moderator
OptimusFlex

User is online
Junior Member Posts:    4
Joined:         11/16/2007
Send Private Message
        

12/05/2007 10:59:01 AM New Messages

Reply  | Quote  | Top  | Bottom  | Edit

first code is flex, the second one is php, i would ike to know if they
do the same thing: upload a file to
http://server.com/plateform/ul/index.php?


[CODE]<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"; width="400"
height="300"
initialize="init()"
>

<mx:Script>
<![CDATA[
import com.project.community.model.CommunityModel;
import com.project.community.model.EditorModel;
import mx.controls.Alert;
import mx.controls.ProgressBar;
import mx.utils.ObjectUtil;
import flash.events.*;
import flash.net.FileReference;
import flash.net.URLRequest;

/**
*
*/
private const UPLOAD_URL : String =
"http://server.com/plateform/ul/index.php";;


private var _progressBar: ProgressBar = new ProgressBar();
private var _fileRef : FileReference = new FileReference();
private var _gpsTypes : FileFilter = new FileFilter("Text Files
(*.gpx)", "*.gpx");




public function init() : void
{
initListener();
}



public function initListener() : void
{
submit.addEventListener(MouseEvent.CLICK, submitClickHandler);
back.addEventListener(MouseEvent.CLICK, backClickHandler);

_fileRef.addEventListener(Event.SELECT, fileSelectedHandler);
_fileRef.addEventListener(ProgressEvent.PROGRESS, progressEventHandler);

_fileRef.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
_fileRef.addEventListener(Event.COMPLETE, uploadCompletedHandler);
_fileRef.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
_fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,
serverResponseHandler);
}


public function httpStatusHandler(event:HTTPStatusEvent): void
{
trace("httpStatusHandler: " + event);
}



/*public function httpStatusHandler(event:HTTPStatusEvent):void
{

if (event.status != 200)
{
if (event.status == 500){
mx.controls.Alert.show("Probleme d'écriture","Error");
return;
}
if (event.status == 404){
mx.controls.Alert.show("Fichier non trouvé","Error");
return;
}
if (event.status == 415){
mx.controls.Alert.show("Type de media interdit","Error");
return;
}
if (event.status == 401){
mx.controls.Alert.show("Acces refusé","Error");
return;
}
mx.controls.Alert.show("Erreur "+event.status,"Error");
}
}
*/




/**
* function that handles the event: click on browse button
*/
public function fileSelectedHandler(event : Event) : void
{

selectedfile.text = _fileRef.name;
progressBar.setProgress(0, 100);
//progressBar.label = "Loading 0%";
enabled = true;
//trace(selectedfile.text);
}



/**
* function that handle the event: click on back button.
*/
public function submitClickHandler(event : MouseEvent) : void
{
var params : URLVariables = new URLVariables();
var uploadRequest : URLRequest = new URLRequest(UPLOAD_URL);
params.filename = _fileRef.name;
params.sk = CommunityModel.getInstance().serverSessionKey; //
"9b166dc3b1a6bf702dfd87b825627b6a";
params.dk = "7ffcd213ac5e00a88a2968c6f3530aeb";
params.type = "track";

//affichage de l'erreur exact retournée par Icelio
//params.view_error = true;


uploadRequest.method = URLRequestMethod.POST;
uploadRequest.data = params;
trace(uploadRequest.url);
trace(uploadRequest.data);
trace(params.filename);
_fileRef.upload(uploadRequest);


// progressBar.label = "Uploading...";

// EditorModel.getInstance().changeEditor(EditorModel.C_NAVIGATOR_NUMBER);
}

public function progressEventHandler(event : ProgressEvent): void
{
var file:FileReference = FileReference(event.target);
trace("progressHandler: name=" + _fileRef.name + " bytesLoaded=" +
event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
_progressBar.setProgress(event.bytesLoaded, event.bytesTotal);

}

public function uploadCompletedHandler(event : Event):void
{
trace("completeHandler: " + event);

}



public function serverResponseHandler( event:DataEvent ) :void
{
trace(event);
var response : XML = XML( event.data );
trace(response);

}

/**
* function that handle the event: click on back button
*/
public function backClickHandler(e : MouseEvent) : void
{
EditorModel.getInstance().changeEditor(EditorModel.C_NAVIGATOR_NUMBER);
}




public function ioErrorHandler (event : IOErrorEvent) : void
{
trace("ioErrorHandler: " + event);
}

]]>
</mx:Script>

<mx:Panel
title="{EditorModel.getInstance().langTraceInserterterTitle}" top="0"
bottom="15" left="1" right="10">

<mx:Canvas verticalScrollPolicy="auto" width="100%" height="100%">


<mx:TextInput x="10" y="20" id="selectedfile" />
<mx:Button x="167" y="20" id="browse"
label="{EditorModel.getInstance().langTraceInserterterBrowser}"
click="_fileRef.browse([_gpsTypes])" />


<!-- progress bar -->

<mx:ProgressBar label="Transfert Progress" id="progressBar"
mode="manual" x="10" y="50"/>



<!-- submit -->
<mx:Button id="submit"
label="{EditorModel.getInstance().langTraceInserterterValidate}"
buttonMode="true" useHandCursor="true" width="120"
styleName="submit" right="10" top="10"
/>
<mx:Button id="back"
label="{EditorModel.getInstance().langTraceInserterterCancel}"
buttonMode="true" useHandCursor="true" width="120"
styleName="cancel" y="65" right="10"
/>

</mx:Canvas>

</mx:Panel>
</mx:Canvas>[/CODE]



[CODE]<?php

define('FOLDER_ROOT', '../..');
$load_param =
array('session','template','cnty_tools_main','cnty_tools_action','cnty_conf','error','xss');
require_once('head.php');

include PATH_TEMPLATES_CONFIG."/_config_account.php";
$aTemplates['Account_Form'] =
file_get_contents($cfg['path_tmpl_list'].'tmpl_trace_new.html');

function DoOutput ()
{
global $rt;
echo TemplateProcess($rt['output']);
}
$addr = $cfg['this_url'];

//$sub_name = substr($_SESSION['sess_key_plateform'], 0, 10);
/* Send file
@param string $url Url
@param array $file File array
@param array $var Var array
@param string $boundary Separator
@return array with header and content client response
*/
function header_build($url, $file, $var = null, $boundary =
'---------------------------9633331271588363780939124723') {

$response = null;

$tab = parse_url($url);
echo ($tab);
$fp = fsockopen($tab['host'], 80, $errno, $errstr, 30);

$parsingfile = fopen('parsingfile.txt', 'r+');
fseek($parsingfile, 0);
fputs($parsingfile, $tab);
fclose($parsingfile);

//$parsingresult = file_get_contents($parsingfile);
echo ($parsingresult);


if ($fp) {

// Build the header
$header = "POST ".$tab['path']." HTTP/1.0\r\n";
$header .= "Host: ".$tab['host']."\r\n";
$header .= "Content-type: multipart/form-data, boundary=$boundary\r\n";

$data = null;

// Add post var
foreach ($var as $k => $v) {
$data .="--$boundary\r\n";
$data .= "Content-Disposition: form-data; name=\"".$k."\"\r\n";
$data .= "\r\n".$v."\r\n";
}

// Attach files
foreach ($file as $f) {
$data .= "--$boundary\r\n";
$data .="Content-Disposition: form-data; name=\"ul_files[]\";
filename=\"".basename($f)."\"\r\n";
$data .= "Content-Type: unknow/unknow\r\n\r\n";
$data .= file_get_contents($f)."\r\n";
$data .= "--$boundary\r\n";
}

$header .= "Content-length: ".strlen($data)."\r\n\r\n";

// Write !
fwrite($fp, $header.$data);

$data = null;

// Read response
while (!feof($fp)) {
$data .= fread($fp, 32);
}

?>
[/CODE]


Reply via email to