Vinnaren i pepparkakshustävlingen!
2024-02-01, 19:26
  #1
Medlem
Har felsökt halva dagen och till slut kommit på att det kanske inte går att skicka för stora variabler till php

Får väl skriva nån fulkod för att komma runt problemet men om nån vet om det går att lösa utan en massa onödiga rader är jag tacksam .

Har denna rad .
var name5="";for(i=1;i<omg.length;i++){for(x=0;x<10;x+ +){name5=name5+omg[i][x]+"\n";}}

Senare skickar jag iväg den på detta sätt .

$.post("https://tipzer.se/vilkensida är inte relevant", { name: name, name2 : name2, name3 : name3, name4 : name4, name5 : name5, name6 : name6, name7 : name7, name8 : name8, name9 : name9}

name5 har en length på 774286 och då funkar det inte . Om däremot jag gör om så att name5 har en length på ca 1000 så funkar koden .

Varför och går det att lösa så man kan skicka utan onödig kod som delar upp name5 ?

Är helt ny på att använda $post , så jag har ingen aning om hur det funkar .
Citera
2024-02-01, 20:35
  #2
Medlem
SchrodingersPizzas avatar
Jag tror problemet ligger i servern som tar emot posten. Dom flesta servrar har ganska liten post_max_size och upload_max_filesize för att man inte ska kunna skicka en massa skit till den.

Dom går att ställa in i php.ini, om du har access till servern.

Det finns även begränsningar i Javascript och JQuery har jag för mig, men tror dom delvis hänger ihop med miljön/browsern man använder.

Ett alternativ annars kan vara att använda AJAX och skicka det i delar.

Typ:
Kod:
var name5Chunks = splitIntoChunks(name5, 1000); // Delar upp name5 i delar av 1000 tecken
name5Chunks.forEach(function(chunk, index) {
    $.post("https://tipzer.se/vilkensida", { name5_part: chunk, partIndex: index }, function(response) {
        console.log("Del " + index + " skickad och mottagen av servern.");
    });
});

function splitIntoChunks(str, chunkSize) {
    var chunks = [];
    for (var i = 0, len = str.length; i < len; i += chunkSize) {
        chunks.push(str.substring(i, i + chunkSize));
    }
    return chunks;
}
Citera
2024-02-01, 20:37
  #3
Moderator
Protons avatar
Citat:
Ursprungligen postat av UHJ
Har felsökt halva dagen och till slut kommit på att det kanske inte går att skicka för stora variabler till php

Får väl skriva nån fulkod för att komma runt problemet men om nån vet om det går att lösa utan en massa onödiga rader är jag tacksam .

Har denna rad .
var name5="";for(i=1;i<omg.length;i++){for(x=0;x<10;x+ +){name5=name5+omg[i][x]+"\n";}}

Senare skickar jag iväg den på detta sätt .

$.post("https://tipzer.se/vilkensida är inte relevant", { name: name, name2 : name2, name3 : name3, name4 : name4, name5 : name5, name6 : name6, name7 : name7, name8 : name8, name9 : name9}

name5 har en length på 774286 och då funkar det inte . Om däremot jag gör om så att name5 har en length på ca 1000 så funkar koden .

Varför och går det att lösa så man kan skicka utan onödig kod som delar upp name5 ?

Är helt ny på att använda $post , så jag har ingen aning om hur det funkar .
Garanterat en serverinställning som sagt.

Har du kollat på https://stackoverflow.com/questions/...imum-post-size tro?
Citera
2024-02-02, 10:27
  #4
Medlem
Tackar båda för svar .

Gjorde nått halvhjärtat försök att ändra inställningarna men lyckades inte .

Insåg att det gick att skicka halva filen två gånger . Så jag fick min fil tillslut . Och när den ska uppdateras skickar jag bara den del som är ny vilket är ca 800 tecken .
Citera
2024-02-02, 12:12
  #5
Medlem
SchrodingersPizzas avatar
Citat:
Ursprungligen postat av UHJ
Tackar båda för svar .

Gjorde nått halvhjärtat försök att ändra inställningarna men lyckades inte .

Insåg att det gick att skicka halva filen två gånger . Så jag fick min fil tillslut . Och när den ska uppdateras skickar jag bara den del som är ny vilket är ca 800 tecken .

Även om det är löst så för framtida information, beroende på implementering av PHP och vilken webserver man använder så kan man behöva starta om webservern för att förändringar ska ske när man ändrat i php.ini.
Citera
2024-02-09, 15:53
  #6
Medlem
tessars avatar
psuedo kod, skicka file i chunks
https://paste.ofcode.org/3c3UpHtz4658QQhSmRxcPfL, du kan ändra chunk size , lite granna som en torrent, sen man kan sätta ihop detta.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback