הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 05-12-06, 17:43   # 1
opsite
משתמש תחת חוזה ניסיון
 
מיני פרופיל
תאריך הצטרפות: Jun 2006
גיל: 35
הודעות: 1,854
שלח הודעה באמצעות ICO אל opsite

opsite לא מחובר  

עזרה | איך עובד הבאר פרוגרס progress bar

אני רוצה לעשות באר פרוגרס בהעלאת קבצים ואין לי מושג איך זה עובד ומי מה ..

אני רוצה לעשות יענו ש .. יציג אחוזים כמה אחוזים נשאר ..

תנו לי בבקשה רעיונות איך לעשות .. תודה לכולם
__________________
צחי אוחיון , מתכנת אתרים , בונה אתרים , קידוד אתרים .
Php - Html - Css - Js
פרטים נוספים : 052-5-819366 -> eMail - zahiohayon@gmail.com
העלאת קבצים|מזרחית|סינגלים
  Reply With Quote
ישן 05-12-06, 17:45   # 2
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

ציטוט:
נכתב במקור על ידי opsite צפה בהודעה
אני רוצה לעשות באר פרוגרס בהעלאת קבצים ואין לי מושג איך זה עובד ומי מה ..

אני רוצה לעשות יענו ש .. יציג אחוזים כמה אחוזים נשאר ..

תנו לי בבקשה רעיונות איך לעשות .. תודה לכולם
איזה שפות אתה יודע?
בPHP זה לא אפשרי...
  Reply With Quote
ישן 05-12-06, 20:29   # 3
tnadav
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2006
הודעות: 216

tnadav לא מחובר  

ציטוט:
נכתב במקור על ידי meshuga צפה בהודעה
איזה שפות אתה יודע?
בPHP זה לא אפשרי...
ב- PHP 5.2.0 נוספה האפשרות לעשות את זה.

למרבה העיצבון הריפרנס של PHP עוד לא התעדכן ולאף-אחד אין מושג איך עושים את זה

אני אישית מחפש את זה עכשיו כמו מטורף, הנה דוגמא של משהו ב- PHP שעובד:
http://php5.bluga.net/UploadProgressMeter/demo.php

או שצריך בשביל זה הרחבה, המצב לא כזה ברור...

עריכה
http://pecl.php.net/package/uploadprogress
אני רץ לבדוק את זה

עריכה 2
בעע.. זה קוד מקור ואין לי מהדר, אני לא רוצה להתעסק עם זה, מישהו יכול להביא גרסה מקומפלת? (זה בשביל השרת המקומי שלי ואני מריץ Windows XP אז קובץ DLL...)
__________________
"אני לא מעצב גרפי... אני לא פלאשר תותח... בטח שלא מנכ"ל של חברת בניית אתרים, כעיקרון אסור לי להיות מועסק.. אבל אני... מתכנת ב-PHP , וגם, לא ממש מציעה.." (יצא לי מוזר משהו...חח)

Last edited by tnadav; 05-12-06 at 20:38..
  Reply With Quote
ישן 05-12-06, 20:35   # 4
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

ציטוט:
נכתב במקור על ידי tnadav צפה בהודעה
ב- PHP 5.2.0 נוספה האפשרות לעשות את זה.

למרבה העיצבון הריפרנס של PHP עוד לא התעדכן ולאף-אחד אין מושג איך עושים את זה

אני אישית מחפש את זה עכשיו כמו מטורף, הנה דוגמא של משהו ב- PHP שעובד:
http://php5.bluga.net/UploadProgressMeter/demo.php

או שצריך בשביל זה הרחבה, המצב לא כזה ברור...
חשבתי על זה כשתומר אמר את זה.. (שהוסיפו ב5..)
אבל זה עדיין לא רלוונטי, אין ביינתים הרבה הענות לגרסה הזאת, בעיקר בגלל הבעיות שהיא עושה בחלק מהפונקציות הישנות..
  Reply With Quote
ישן 07-12-06, 15:23   # 5
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 32
הודעות: 4,086

BlueNosE לא מחובר  

ציטוט:
נכתב במקור על ידי tnadav צפה בהודעה
ב- PHP 5.2.0 נוספה האפשרות לעשות את זה.

למרבה העיצבון הריפרנס של PHP עוד לא התעדכן ולאף-אחד אין מושג איך עושים את זה

אני אישית מחפש את זה עכשיו כמו מטורף, הנה דוגמא של משהו ב- PHP שעובד:
http://php5.bluga.net/UploadProgressMeter/demo.php

או שצריך בשביל זה הרחבה, המצב לא כזה ברור...

עריכה
http://pecl.php.net/package/uploadprogress
אני רץ לבדוק את זה

עריכה 2
בעע.. זה קוד מקור ואין לי מהדר, אני לא רוצה להתעסק עם זה, מישהו יכול להביא גרסה מקומפלת? (זה בשביל השרת המקומי שלי ואני מריץ Windows XP אז קובץ DLL...)

ההיידר:
ציטוט:
/*
+----------------------------------------------------------------------+
| unknown license: |
+----------------------------------------------------------------------+
+----------------------------------------------------------------------+
*/

/* $ Id: $ */

#ifndef PHP_UPLOADPROGRESS_H
#define PHP_UPLOADPROGRESS_H

#ifdef __cplusplus
extern "C" {
#endif

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include <php.h>

#ifdef HAVE_UPLOADPROGRESS

#include <php_ini.h>
#include <SAPI.h>
#include <ext/standard/info.h>

#ifdef __cplusplus
} // extern "C"
#endif
#ifdef __cplusplus
extern "C" {
#endif

extern zend_module_entry uploadprogress_module_entry;
#define phpext_uploadprogress_ptr &uploadprogress_module_entry

#ifdef PHP_WIN32
#define PHP_UPLOADPROGRESS_API __declspec(dllexport)
#else
#define PHP_UPLOADPROGRESS_API
#endif

typedef struct _uploadprogress_data {
char * identifier; /* full filename, or just the identifier, depending on method */
char * identifier_tmp; /* full filename, or just the identifier, depending on method */
time_t time_start;
time_t time_last;
unsigned int speed_average;
unsigned int speed_last;
unsigned long bytes_uploaded;
unsigned long bytes_total;
unsigned int files_uploaded;
int est_sec;
} uploadprogress_data;


static char * uploadprogress_mk_filename(char * identifier, char * template);

static void uploadprogress_file_php_get_info(char *, zval * );

PHP_MINIT_FUNCTION(uploadprogress);
PHP_MSHUTDOWN_FUNCTION(uploadprogress);
PHP_RINIT_FUNCTION(uploadprogress);
PHP_RSHUTDOWN_FUNCTION(uploadprogress);
PHP_MINFO_FUNCTION(uploadprogress);

#ifdef ZTS
#include "TSRM.h"
#endif


PHP_FUNCTION(uploadprogress_get_info);
#ifdef __cplusplus
} // extern "C"
#endif

#endif /* PHP_HAVE_UPLOADPROGRESS */

#endif /* PHP_UPLOADPROGRESS_H */


/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: noet sw=4 ts=4 fdm=marker
* vim<600: noet sw=4 ts=4
*/
הקובץ השני:
ציטוט:
/*
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available at through the world-wide-web at |
| http://www.php.net/license/2_02.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Christian Stocker (chregu@bitflux.ch) |
| Derived from: Doru Petrescu (pdoru-php-upm@kappa.ro) &#194; &#194; |
| http://pdoru.from.ro/upload-progress-meter/ |
+----------------------------------------------------------------------+

$Id: uploadprogress.c,v 1.1 2006/12/05 12:00:12 chregu Exp $
*/
/* $ Id: $ */

#include "php_uploadprogress.h"
#include "rfc1867.h"


#if HAVE_UPLOADPROGRESS

/* {{{ uploadprogress_functions[] */
function_entry uploadprogress_functions[] = {
PHP_FE(uploadprogress_get_info, NULL)
{ NULL, NULL, NULL }
};
/* }}} */

PHP_INI_BEGIN()
PHP_INI_ENTRY("uploadprogress.file.filename_templa te", "/tmp/upt_%s.txt", PHP_INI_ALL, NULL)
PHP_INI_END()



/* {{{ uploadprogress_module_entry
*/
zend_module_entry uploadprogress_module_entry = {
STANDARD_MODULE_HEADER,
"uploadprogress",
uploadprogress_functions,
PHP_MINIT(uploadprogress), /* Replace with NULL if there is nothing to do at php startup */
PHP_MSHUTDOWN(uploadprogress), /* Replace with NULL if there is nothing to do at php shutdown */
PHP_RINIT(uploadprogress), /* Replace with NULL if there is nothing to do at request start */
PHP_RSHUTDOWN(uploadprogress), /* Replace with NULL if there is nothing to do at request end */
PHP_MINFO(uploadprogress),
"0.0.1",
STANDARD_MODULE_PROPERTIES
};
/* }}} */

#ifdef COMPILE_DL_UPLOADPROGRESS
ZEND_GET_MODULE(uploadprogress)
#endif


extern int (*php_rfc1867_callback)(unsigned int , void *, void ** TSRMLS_DC);

static int uploadprogress_php_rfc1867_file(unsigned int event, void *event_data, void **data TSRMLS_DC)
{
zval handler;
char *callable = NULL;
uploadprogress_data * progress;
int read_bytes;

progress = *data;
if (event == MULTIPART_EVENT_START) {
multipart_event_start *e_data;
e_data = (multipart_event_start*) event_data;
progress = emalloc( sizeof(uploadprogress_data) );
progress->bytes_total = e_data->content_length;
progress->identifier = NULL;
progress->identifier_tmp = NULL;
progress->time_start = time(NULL);
*data = progress;
} else if (event == MULTIPART_EVENT_FORMDATA) {

multipart_event_formdata *e_data;
e_data = (multipart_event_formdata*) event_data;
read_bytes = e_data->post_bytes_processed;
if (e_data->newlength) {
*e_data->newlength = e_data->length;
}

if (strcmp(e_data->name, "UPLOAD_IDENTIFIER") == 0) {

char * template = INI_STR("uploadprogress.file.filename_template");
if (strcmp(template, "") == 0) {
return 0;
}

progress->time_last = time(NULL);
progress->speed_average = 0;
progress->speed_last = 0;
progress->bytes_uploaded = read_bytes;
progress->files_uploaded = 0;
progress->est_sec = 0;
progress->identifier = uploadprogress_mk_filename(*e_data->value, template);
progress->identifier_tmp = emalloc(strlen( progress->identifier) + 4);
sprintf( progress->identifier_tmp, "%s.wr", progress->identifier );
}
}

if (progress->identifier) {

if (event == MULTIPART_EVENT_FILE_START) {
multipart_event_file_start *e_data;

e_data = (multipart_event_file_start*) event_data;
read_bytes = e_data->post_bytes_processed;

} else if (event == MULTIPART_EVENT_FILE_DATA) {
multipart_event_file_data *e_data;

e_data = (multipart_event_file_data*) event_data;
read_bytes = e_data->post_bytes_processed;


} else if (event == MULTIPART_EVENT_FILE_END) {
multipart_event_file_end *e_data;

e_data = (multipart_event_file_end*) event_data;

read_bytes = e_data->post_bytes_processed;
progress->files_uploaded++;
} else if ( event == MULTIPART_EVENT_END ) {
VCWD_UNLINK( progress->identifier );
efree( progress->identifier );
efree( progress->identifier_tmp );
efree( progress );

return 0;

}

time_t crtime = time(NULL);
int d,dt,ds;

if (progress->time_last > crtime) { /* just in case we encounter a fracture in time */
progress->time_start = progress->time_last = crtime;
}

dt = crtime - progress->time_last;
ds = crtime - progress->time_start;
d = read_bytes - progress->bytes_uploaded;


if (dt) {
progress->speed_last = d/dt;

progress->time_last = crtime;
progress->bytes_uploaded = read_bytes;

progress->speed_average = ds ? read_bytes / ds : 0;
progress->est_sec = progress->speed_average ? (progress->bytes_total - read_bytes) / progress->speed_average : -1;
}
if (dt || event >= MULTIPART_EVENT_FILE_END) {


FILE *F;
F = VCWD_FOPEN(progress->identifier_tmp, "wb");
if (F) {
fprintf(F, "time_start=%d\ntime_last=%d\nspeed_average=%d\nsp eed_last=%d\nbytes_uploaded=%d\nbytes_total=%d\nfi les_uploaded=%d\nest_sec=%d\n",
progress->time_start, progress->time_last,
progress->speed_average, progress->speed_last,
progress->bytes_uploaded, progress->bytes_total,
progress->files_uploaded,
progress->est_sec );
fclose(F);
VCWD_RENAME(progress->identifier_tmp,progress->identifier);
}
}


}
if (event == MULTIPART_EVENT_END ) {
if (progress->identifier) {
efree( progress->identifier );
}
if (progress->identifier_tmp) {
efree( progress->identifier_tmp );
}
efree( progress );

}
}


/* {{{ PHP_MINIT_FUNCTION */
PHP_MINIT_FUNCTION(uploadprogress)
{
REGISTER_INI_ENTRIES();
php_rfc1867_callback = uploadprogress_php_rfc1867_file;

/* add your stuff here */

return SUCCESS;
}
/* }}} */


/* {{{ PHP_MSHUTDOWN_FUNCTION */
PHP_MSHUTDOWN_FUNCTION(uploadprogress)
{

UNREGISTER_INI_ENTRIES();
php_rfc1867_callback = NULL;

/* add your stuff here */


return SUCCESS;
}
/* }}} */



/* {{{ PHP_RINIT_FUNCTION */
PHP_RINIT_FUNCTION(uploadprogress)
{
/* add your stuff here */


return SUCCESS;
}
/* }}} */


/* {{{ PHP_RSHUTDOWN_FUNCTION */
PHP_RSHUTDOWN_FUNCTION(uploadprogress)
{
/* add your stuff here */

return SUCCESS;
}
/* }}} */


/* {{{ PHP_MINFO_FUNCTION */
PHP_MINFO_FUNCTION(uploadprogress)
{
char buffer[ 512 ] ;
php_info_print_table_start() ;

php_info_print_table_header( 2, "uploadprogress support", "enabled" ) ;
snprintf( buffer, 512, "0.3.0-beta");

php_info_print_table_row( 2, "Version", buffer ) ;

php_info_print_box_end();
/* add your stuff here */

}


/* }}} */




/* {{{ proto bool uploadprogress_register(callback callback)
*/

PHP_FUNCTION(uploadprogress_get_info)
{
char * id;
int id_lg;
char method;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &id, &id_lg) == FAILURE) {
return;
}

return uploadprogress_file_php_get_info( id, return_value );

RETURN_FALSE;
}

static char * uploadprogress_mk_filename(char * identifier, char * template)
{
char * x;
char * filename;

filename = emalloc( strlen(template) + strlen(identifier) + 3 );

x = strstr( template, "%s" );
if (x==NULL) {
sprintf( filename, "%s/%s", template, identifier );
}else{
strcpy( filename, template );
strcpy( filename + (x - template), identifier );
strcat( filename, x+2 );
}
return filename;
}

static void uploadprogress_file_php_get_info(char * id, zval * return_value)
{
char s[1024];
char * filename;
FILE *F;
TSRMLS_FETCH();

char * template = INI_STR("uploadprogress.file.filename_template");


if (strcmp(template, "") == 0) {
return;
} else {
filename = uploadprogress_mk_filename( id, template );
if (!filename) return;

F = VCWD_FOPEN(filename, "rb");

if (F) {
array_init(return_value);

while ( fgets(s, 1000, F) ) {
char *k, *v, *e;
e = strchr(s,'=');
if (!e) continue;

*e = 0; /* break the line into 2 parts */
v = e+1;
k = s;

/* trim spaces in front and after the name/value */
while (*k && *k <= 32) v++;
while (*v && *v <= 32) v++;
for (e=k; *e; e++) if (*e <= 32) { *e = 0; break; }
for (e=v; *e; e++) if (*e <= 32) { *e = 0; break; }

add_assoc_string( return_value, k, v, 1 );
}
fclose(F);
}

if (filename) efree(filename);
return;
}
}



#endif /* HAVE_UPLOADPROGRESS */


/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: noet sw=4 ts=4 fdm=marker
* vim<600: noet sw=4 ts=4
*/

ובקשר לבקשה... אולי עם FLUSH?
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 07-12-06, 15:28   # 6
tnadav
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2006
הודעות: 216

tnadav לא מחובר  

ציטוט:
נכתב במקור על ידי BlueNosE צפה בהודעה
ההיידר:


הקובץ השני:



ובקשר לבקשה... אולי עם FLUSH?
FLUSH?

אני צריך קובץ DLL.. אין לי מהדר לא היידר.

צריך לקמפל את הקבצים האלו עם מהדר, ואין לי כוח ללמוד איך להתעסק עם זה.

זה גם לא נוסה על Windows עדיין
__________________
"אני לא מעצב גרפי... אני לא פלאשר תותח... בטח שלא מנכ"ל של חברת בניית אתרים, כעיקרון אסור לי להיות מועסק.. אבל אני... מתכנת ב-PHP , וגם, לא ממש מציעה.." (יצא לי מוזר משהו...חח)
  Reply With Quote
ישן 07-12-06, 15:35   # 7
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 32
הודעות: 4,086

BlueNosE לא מחובר  

ציטוט:
נכתב במקור על ידי tnadav צפה בהודעה
FLUSH?

אני צריך קובץ DLL.. אין לי מהדר לא היידר.

צריך לקמפל את הקבצים האלו עם מהדר, ואין לי כוח ללמוד איך להתעסק עם זה.

זה גם לא נוסה על Windows עדיין
ולי יש את הקבצים וחשבתי שאתה צריך את המקור שלהם.
חכה שניה.

ואגב, מה FLUSH?

עריכה:
אני צריך קובץ בשם rfc1867.h ואין לי אותו בתיקייה של האינקלודס אז אני לא יכול לקמפל
עריכה 2:
הורדתי את זה ואת SAPI.h שגם צריך ושוב יש שגיאות:
23 C:\Dev-Cpp\include\SAPI.h `MAX_PATH' undeclared here (not in a function)
25 D:\Documents and Settings\BlueNosE\&#249;&#229;&#236;&#231;&#239; &#228;&#242;&#225;&#229;&#227;&#228;\uploadprogres s-0.3.0\uploadprogress.c In file included from D:\Documents and Settings\BlueNosE\&#249;&#229;&#236;&#231;&#239; &#228;&#242;&#225;&#229;&#227;&#228;\uploadprogres s-0.3.0\uploadprogress.c
28 C:\Dev-Cpp\include\rfc1867.h syntax error before "SAPI_POST_HANDLER_FUNC"

ועוד.. :S
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter

Last edited by BlueNosE; 07-12-06 at 15:53..
  Reply With Quote
ישן 05-12-06, 17:47   # 8
opsite
משתמש תחת חוזה ניסיון
 
מיני פרופיל
תאריך הצטרפות: Jun 2006
גיל: 35
הודעות: 1,854
שלח הודעה באמצעות ICO אל opsite

opsite לא מחובר  

אני מתעסק אם php ו sql וקצת js

..

איך אפשר ?
__________________
צחי אוחיון , מתכנת אתרים , בונה אתרים , קידוד אתרים .
Php - Html - Css - Js
פרטים נוספים : 052-5-819366 -> eMail - zahiohayon@gmail.com
העלאת קבצים|מזרחית|סינגלים
  Reply With Quote
ישן 05-12-06, 17:48   # 9
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

ציטוט:
נכתב במקור על ידי opsite צפה בהודעה
אני מתעסק אם php ו sql וקצת js

..

איך אפשר ?
אי אפשר, לא עם השפות האלו.
במיוחד ש2 ממה שהבאת פה, לא אפשריות להעלאת קבצים בכלל.

עם מה אפשר?
עם פרל נראה לי אפשר.
  Reply With Quote
ישן 05-12-06, 17:50   # 10
opsite
משתמש תחת חוזה ניסיון
 
מיני פרופיל
תאריך הצטרפות: Jun 2006
גיל: 35
הודעות: 1,854
שלח הודעה באמצעות ICO אל opsite

opsite לא מחובר  

למשל ב megaupload איך זה עובד ?
__________________
צחי אוחיון , מתכנת אתרים , בונה אתרים , קידוד אתרים .
Php - Html - Css - Js
פרטים נוספים : 052-5-819366 -> eMail - zahiohayon@gmail.com
העלאת קבצים|מזרחית|סינגלים
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 15:14.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ