העלאת קבצים לפי הסדר
-
@מנסה אמר בהעלאת קבצים לפי הסדר:
הנה קוד שמחזיר את הקובץ WAV הכי גבוה בשלוחה
<?php $r = file_get_contents("http://call2all.co.il/ym/api/GetIvrTree?token=03*******:****&path=ivr2:/1"); $a="wav"; $pos = strrpos($r, $a); $e = substr($r, $pos-4,3); print $e;
ותן לקובץ שם של
$e+1
הבעיה מתחילה כשיש יותר מ1000 קבצים והקובץ האחרון הוא בעל שם של 4 מספרים
-
לטובת כולם אני מעלה כאן את הפונקציה לקבלת שם לקובץ עוקב בשלוחה בשפת php
<?php function FileNameToUpload($server="www", $token, $path){ $array = json_decode(file_get_contents("https://{$server}.call2all.co.il/ym/api//GetIVR2Dir?token={$token}&path={$path}"),true); if($array["responseStatus"] == "OK"){ foreach($array["files"] as $key => $value){ if($value["fileType"] == "AUDIO" || $value["fileType"] == "TTS"){ $split = explode(".",$value["name"]); if (is_numeric($split[0])){ break; } } } if($split[0] == null){ $NewFileName = 0; }else{ $NewFileName = $split[0]+1; } //הפוך למינימום 3 ספרות/ return str_pad($NewFileName,3,"0",STR_PAD_LEFT); }else{ //במקרה של שגיאה } } ?>
דוגמא לקריאה לפונקציה
$NewFileName = FileNameToUpload("www", "07770000:000", "ivr2:/1"); if($NewFileName != null){ $path = "$path/$NewFileName.tts"; //מכריז על שם של נתיב הקובץ להעלאה }