אני מעוניין לכתוב קובץ php (כמובן לפי המחלקה הנהדרת של מאזין נלהב, ותודה) שיעלה את כל הקבצים הנדרשים לאיפוס מערכת מכירות בבת אחת.
[הקבצים הרי ריקים אז זה לא כל כך מסובך רק שם וכתובת avr].
השאלה האם צריך לכל קובץ לכתוב דף חדש או שאני יכול לכתוב אחד אחרי השני ולשנות רק במשתנה.
ואם כן איזה משתנה?
תודה רבה
האם יש דרך להעלאות כמה קבצים לכמה שלוחות בפעם אחת
-
- הודעות: 72
- הצטרף: 14:08 14/06/2018
Re: האם יש דרך להעלאות כמה קבצים לכמה שלוחות בפעם אחת
אתה יכול לעשות לולאה
או לכתוב אחד אחרי השני אין סיבה לעשות קובץ נפרד
או לכתוב אחד אחרי השני אין סיבה לעשות קובץ נפרד
-
- הודעות: 72
- הצטרף: 14:08 14/06/2018
Re: האם יש דרך להעלאות כמה קבצים לכמה שלוחות בפעם אחת
לולאה לא תעזור כי כל קובץ יש לו שם אחר וכתובת אחרת
השאלה היא איך אני מכניס שני קבצים להעלאה באותו קובץ אני יעלה דוגמא בס"ד
השורות הראשונות זה מה שאחראי ליצירת הקובץ , והשורה האחרונה בסוף זה אחראי להעלאה.
א"כ איך אני מוסיף והיכן עוד חלקים כאלו כדי שהוא יעלה עוד.
והאם צרים להוסיף כל קובץ כמשתנה חדש?
תודה רבה
השאלה היא איך אני מכניס שני קבצים להעלאה באותו קובץ אני יעלה דוגמא בס"ד
השורות הראשונות זה מה שאחראי ליצירת הקובץ , והשורה האחרונה בסוף זה אחראי להעלאה.
א"כ איך אני מוסיף והיכן עוד חלקים כאלו כדי שהוא יעלה עוד.
והאם צרים להוסיף כל קובץ כמשתנה חדש?
תודה רבה
קוד: בחירת הכל
<?php
$con = new connecting_to_yemot_api('077000000', '123456');
/*================העלאת קובץ====================*/
/[color=#BFBF00]/ יצירת הקובץ
$File = new oFile('ApprovalAll', 'ymgr', " ");
$body = array
(
'path' => 'ivr/2/20/1/1/ApprovalAll.ymgr',
'convertAudio' => 0,
'fileUpload' => $File
);[/color]
class BodyPost
{
// part "multipart/form-data"
public static function PartPost($name, $val)
{
$body = 'Content-Disposition: form-data; name="' . $name . '"';
// check instance of oFile
if($val instanceof oFile)
{
$file = $val->Name();
$mime = $val->Mime();
$cont = $val->Content();
$body .= '; filename="' . $file . '"' . "\r\n";
$body .= 'Content-Type: ' . $mime ."\r\n\r\n";
$body .= $cont."\r\n";
} else $body .= "\r\n\r\n".$val."\r\n";
return $body;
}
public static function Get(array $post, $delimiter = '-------------0123456789')
{
if(is_array($post) && !empty($post))
{
$bool = true;
//foreach($post as $val) if($val instanceof oFile) {$bool = true; break; };
if($bool)
{
$ret = '';
foreach($post as $name=>$val)
$ret .= '--' . $delimiter. "\r\n". self::PartPost($name, $val);
$ret .= "--" . $delimiter . "--\r\n";
} else $ret = http_build_query($post);
} else throw new \Exception('Error input param!');
return $ret;
}
}
class oFile
{
private $name;
private $mime;
private $content;
public function __construct($name, $mime=null, $content=null)
{
if(is_null($content))
{
$info = pathinfo($name);
// check is exist and readable file
if(!empty($info['basename']) && is_readable($name))
{
$this->name = $info['basename'];
// get MIME
$this->mime = mime_content_type($name);
// load file
$content = file_get_contents($name);
if($content!==false)
{
$this->content = $content;
}
else
{
throw new Exception('Don`t get content - "'.$name.'"');
}
}
else
{
throw new Exception('Error param');
}
}
else
{
$this->name = $name;
if(is_null($mime)) $mime = mime_content_type($name);
$this->mime = $mime;
$this->content = $content;
};
}
public function Name() { return $this->name; }
public function Mime() { return $this->mime; }
public function Content() { return $this->content; }
}
class connecting_to_yemot_api
{
public $token;
const URL = 'https://www.call2all.co.il/ym/api/';
public function __construct($user_name, $password)
{
$body = array('username' => $user_name, 'password' => $password);
$body = http_build_query($body);
$opts = array('http' => array(
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded",
'content' => $body,
'follow_location' => false) );
$context = stream_context_create($opts);
$url = self::URL.'Login';
$result = file_get_contents($url, FALSE, $context);
$result = json_decode($result);
if($result -> responseStatus == 'OK')
{
$this -> token = $result -> token;
return TRUE;
}
else
{
throw new Exception('שם המשתמש או הסיסמא של המערכת שגויים');
}
}
public function __destruct()
{
$this -> connecting('Logout');
}
public function connecting($action, $body = array())
{
$delimiter = '----'.uniqid();
$body['token'] = $this -> token;
$body = BodyPost::Get($body, $delimiter);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-Type: multipart/form-data; boundary='.$delimiter,
'content' => $body,
'follow_location' => false
)
);
$context = stream_context_create($opts);
$url = self::URL.$action;
$result = file_get_contents($url, FALSE, $context);
$headers = $this -> parseHeaders($http_response_header);
if($headers['Content-Type'][0] == 'application/json')
{
return json_decode($result);
}
else
{
return $result;
}
}
private function parseHeaders($headers)
{
// פונקציה שמקבלת מערך של שורות הכותרות
// הפונקציה מפרקת את קבצי הקוקי לתת-מערך נפרד
// מערך הכותרות
$head = array();
foreach( $headers as $k=>$v )
{
$t = explode( ':', $v, 2 );
if( isset( $t[1] ) )
{
if($t[0] == 'Set-Cookie')
{
$CookiesArr = array();
$cookies = explode( ';', $t[1]);
foreach($cookies as $cookie)
{
$c = explode( '=', $cookie);
if( isset( $c[1] ) )
{
$CookiesArr[ trim($c[0]) ] = trim( $c[1] );
}
else
{
$CookiesArr[] = trim( $c[0] );
}
}
$head[ trim($t[0]) ] = $CookiesArr;
}
elseif($t[0] == 'Content-Type')
{
$arr = array();
$children = explode( ';', $t[1]);
foreach($children as $child)
{
$c = explode( '=', $child);
if( isset( $c[1] ) )
{
$arr[ trim($c[0]) ] = trim( $c[1] );
}
else
{
$arr[] = trim( $c[0] );
}
}
$head[ trim($t[0]) ] = $arr;
}
else
{
$head[ trim($t[0]) ] = trim( $t[1] );
}
}
else
{
$head[] = $v;
if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
{
$head['reponse_code'] = intval($out[1]);
}
}
}
return $head;
}
}
[color=#FFFF00]$a = $con -> connecting('UploadFile', $body);
[/color][/color]
Re: האם יש דרך להעלאות כמה קבצים לכמה שלוחות בפעם אחת
נראה לי שלא חייב משתנה חדש
כי כשנותנים שם חדש לאותו משתנה זה דורס את ההגדרה הקודמת
אבל אצלי נראה לי ששמתי שתי משתנים
כדי שיהיה יותר קל לדבג
כי כשנותנים שם חדש לאותו משתנה זה דורס את ההגדרה הקודמת
אבל אצלי נראה לי ששמתי שתי משתנים
כדי שיהיה יותר קל לדבג
מי מחובר
משתמשים הגולשים בפורום זה: אין משתמשים רשומים | 26 אורחים