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

0795421874
הודעות: 72
הצטרף: 14:08 14/06/2018

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

שליחהעל ידי 0795421874 » 16:19 10/06/2019

אני מעוניין לכתוב קובץ php (כמובן לפי המחלקה הנהדרת של מאזין נלהב, ותודה) שיעלה את כל הקבצים הנדרשים לאיפוס מערכת מכירות בבת אחת.
[הקבצים הרי ריקים אז זה לא כל כך מסובך רק שם וכתובת avr].

השאלה האם צריך לכל קובץ לכתוב דף חדש או שאני יכול לכתוב אחד אחרי השני ולשנות רק במשתנה.
ואם כן איזה משתנה?

תודה רבה

sbb0799
הודעות: 330
הצטרף: 12:39 08/02/2017

Re: האם יש דרך להעלאות כמה קבצים לכמה שלוחות בפעם אחת

שליחהעל ידי sbb0799 » 16:57 10/06/2019

אתה יכול לעשות לולאה
או לכתוב אחד אחרי השני אין סיבה לעשות קובץ נפרד

0795421874
הודעות: 72
הצטרף: 14:08 14/06/2018

Re: האם יש דרך להעלאות כמה קבצים לכמה שלוחות בפעם אחת

שליחהעל ידי 0795421874 » 17:24 10/06/2019

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

השורות הראשונות זה מה שאחראי ליצירת הקובץ , והשורה האחרונה בסוף זה אחראי להעלאה.
א"כ איך אני מוסיף והיכן עוד חלקים כאלו כדי שהוא יעלה עוד.
והאם צרים להוסיף כל קובץ כמשתנה חדש?

תודה רבה

קוד: בחירת הכל

<?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]

sbb0799
הודעות: 330
הצטרף: 12:39 08/02/2017

Re: האם יש דרך להעלאות כמה קבצים לכמה שלוחות בפעם אחת

שליחהעל ידי sbb0799 » 17:31 10/06/2019

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


חזור אל “פורום PHP”

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים | 26 אורחים