webForumDet fria alternativet

Hur sparar/mailar jag en fil..

PHP

13 svar · 413 visningar · startad av abbe-rocks

Medlem sedan feb. 200429 inlägg
Frågan#1

Hur sparar/mailar jag en fil som jag skapat ??

Håller på med ett simpelt kundvagns script och undrar hur man på ett simpelt sätt kan maila / spara php sidan med info som jag hämtat ifrån databasen ?.

helst bara spara den som en ny fil för då kan man bara länka till den och den fins kvar i fall mailet skulle försvina.

Rock on

Medlem sedan apr. 2002830 inlägg
#2

Annars så sparar du bara kundvagnen i databasen och så ger du den ett id som lätt kan plockas upp... ?

Medlem sedan feb. 200429 inlägg
#3

har gjort den så att den sparar varunret i kundvagns databasen och sedan hämtar jag in alla saker som den kunden har i kundvagnen men sedan när dom ska beställa så vill jag kunna skicka allt via email och daärfö skulle det vara bra om jag kunde skicka/spara den filen.

är mycket möjligt att jag bygger om hela skiten sedan på nå bättre sätt men vill ha igång skiten nu bara =)

Rock on

Medlem sedan apr. 2002830 inlägg
#4

Jo, men om allt finns sparat i databasen är det ju bara att göra en sida som dynamiskt hämtar allt som de har sparat i databasen. Mkt smidigare än att skapa en statisk sida för vare order!

Eller missförstår jag dig??

Medlem sedan feb. 200429 inlägg
#5

är ju det jag gör men vill kunna spara den sidan som själva ordern sedan bara

efter som jag har gjort så att kunvagnen är tillfällig och bara ligger kvar i 2 timmar kan ställas om men vill iaf spara ordrarna så dom ligger där så kan man hämta dom när man vill och kund dbn blir inte överfylld.

Medlem sedan feb. 200429 inlägg
#6

Nån som vet ??

går det ??

Medlem sedan dec. 2003153 inlägg
#7

Du sparar alltså kundvagnen i två timmar för att sedan ta bort den? Men nu vill du spara den som en text-fil så att den ska finnas kvar? Ska text-filen agera offert/faktura eller ska du bara ha den för att maila iväg den?

Är det nån skillnad om du ändrar tiden för hur länge de sparas i databasen än om du sparar den som en fil? Tar den inte upp utrymme hur som helst?

Många frågor... :)

Medlem sedan apr. 2002830 inlägg
#8

Jag håller med lunne82, det tar ju plats oavsett var det ligger någonstans. Smidigare (tycker jag...) att spara allt i databasen...

Medlem sedan feb. 200429 inlägg
#9

í kundvagnen sparar jag bara varunr osv och vem som har lagt till den och sedan när dom gör beställningen så vill jag kunna spara /maila en bekräftelse till dom så där för är det smidigare att spara den sidan där all info redan finns uppstäld så det är bara maila den på en gång + att det är smidigt när man ska plocka ordern sedan. Men som sagt kommer saäkert göra om skiten sedan men vill bara ha i gång skiten just nu så vore bra om nån vista hur man smidigast ska gå till väga

Medlem sedan dec. 2003153 inlägg
#10

Börja med att se till att du kan skapa filer i katalogen "orders". Sen gör du detta för att spara filen:

$orderNr = Värde från databasen;

$stuff = Artikelnummer och beskrivning av varan/varorna kunden köpt;
// Exempel: stuff = array( 100032 => "Socka A", 100064 => "Socka B" );

$file = "orders/".$orderNr.".txt";

foreach($stuff as $artNr => $text) {
	$order .= $artNr . " " . $text . "\n";
}

if (!$fp = fopen($file, "w")) {
	echo "Kunde inte öppna filen ($file) för skrivning. ".
		"Har du skrivrättigheter?";
	exit;
}

if (fwrite($fp, $order) === FALSE) {
	echo "Kunde inte skriva data till fil ($file).";
	exit;
}

echo "*wee* Vi fick en order!";

fclose($fp);

Och detta för att maila den. Läser in filen och skickar den i ett mail. Utformning får du lösa själv.

$orderNr = Värde från databasen;

$file = "orders/".$orderNr.".txt";

if (!$fp = fopen($file, "r")) {
	echo "Kunde inte öppna filen ($file) för läsning. ".
		"Har du rättigheter?";
	exit;
}

$contents = fread($fp, filesize($file))

fclose($fp);

mail("to", "Subject", $contents);

Inte testat koden alls. Men du ser ju tanken med koden...

Medlem sedan feb. 200429 inlägg
#11

OK thx ska testa det imorgon när jag har tid över =)

Medlem sedan feb. 200429 inlägg
#12

hmmm nu när jag kollade på det så var det inte riktigt vad jag var ute efter ?? går det att spara själva sidan som genereras bara ?? eller maila den ??

om inte får jqag tänka om lite =)

Medlem sedan dec. 2003153 inlägg
#13

Om du vill spara exakt den sida som användaren ser kan du använda dig av funktionerna för output buffer. Längst upp i den PHP-fil som genererar sidan skriver du:

<?
ob_start();

// Resten av koden

Sen när du ska spara sidan (sist i PHP-filen då allt är genererat) använder du:

$contents = ob_get_contents();

Sen sparar du $contents i en fil eller mailar den. Om du ska maila den kan du läsa här hur ska göra.

Edit: I dokumentationen för ob-get-contents() är det ett exempel för hur man skapar templates. Detta är väl i princip vad du vill göra?

Medlem sedan feb. 200429 inlägg
#14

jepp thx perfa precis vad jag ville ha =)

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)