abonnement Unibet Coolblue Bitvavo
pi_37589015
quote:
Op vrijdag 5 mei 2006 22:00 schreef wipes66 het volgende:
Bestaat er eigenlijk in php een mogelijkheid om iets naar het werkgeheugen te schrijven? (bv om te cachen)
Ja, door het in variabelen te stoppen. Die worden namelijk in het werkgeheugen opgeslagen. Verder blijf je wel beperkt tot de geheugenlimiet die PHP je oplegt.
pi_37589083
quote:
Op vrijdag 5 mei 2006 22:13 schreef JeRa het volgende:

[..]

Ja, door het in variabelen te stoppen. Die worden namelijk in het werkgeheugen opgeslagen. Verder blijf je wel beperkt tot de geheugenlimiet die PHP je oplegt.
ik denk dat ie echt bewaren bedoeld, want variabelen zijn weg zodra de pagina geladen is. Maar ik weet niet precies wat je met werkgeheugen bedoeld, maar cachen kan wel natuurlijk, gewoon een scriptje schrijven.
pi_37589190
quote:
Op vrijdag 5 mei 2006 22:13 schreef JeRa het volgende:

[..]

Ja, door het in variabelen te stoppen. Die worden namelijk in het werkgeheugen opgeslagen. Verder blijf je wel beperkt tot de geheugenlimiet die PHP je oplegt.
Ja maar al die variabelen zijn weg zodra je script weer opnieuwe begint. Of valt daar wat aan te doen?
..///
pi_37589296
quote:
Op vrijdag 5 mei 2006 22:15 schreef _dirkjan_ het volgende:

[..]

ik denk dat ie echt bewaren bedoeld, want variabelen zijn weg zodra de pagina geladen is. Maar ik weet niet precies wat je met werkgeheugen bedoeld, maar cachen kan wel natuurlijk, gewoon een scriptje schrijven.
Ja meestal wordt er gecached door iets op te slaan in een bestandje, maar ik vroeg me af of het ook via werkgeheugen kan.
..///
pi_37590370
quote:
Op vrijdag 5 mei 2006 22:19 schreef wipes66 het volgende:

[..]

Ja maar al die variabelen zijn weg zodra je script weer opnieuwe begint. Of valt daar wat aan te doen?
Hoe bedoel je dit? Als de user de pagina ververst of als het script de pagina opnieuw aanroept, dat dan je variabelen blijven bestaan? Dit kan door middel van sessions. De variabelen blijven bestaan, zolang de client verbinding houdt met de server.
Je slaat variabelen op in sessions. Zie hiervoor http://nl2.php.net/manual/en/ref.session.php

Of begrijp ik je verkeerd?
pi_37593491
quote:
Op vrijdag 5 mei 2006 22:58 schreef beerten het volgende:
Of begrijp ik je verkeerd?
Sessions worden per user opgeslagen als bestand, dus dat is niet wat ik zoek.

Veel cach systemen werken ongeveer als volgt: script wordt uitgevoerd en de output wordt opgeslagen in een bestand, en de volgende keer wordt steeds het bestandje geopend ipv het script uitvoeren.

Nu wil ik precies het zelfde alleen dan de output opslaan in het werkgeheugen, zodat niet steeds het bestandje wordt geopend.
..///
  zaterdag 6 mei 2006 @ 01:02:26 #217
134184 WEST
AFC AJAX 4 EVER
pi_37593598
tvp

ben met een webwinkel bezig
Find your guiding inspiration. In a place where dreams are made
With a lifetime's preparation. It’s no time to be afraid
Put our differences behind us. While we shine like the sun
See what we've all become. Together we are one
pi_37593717
Ik heb al iets gevonden:

http://www.php.net/manual/en/ref.memcache.php
http://www.danga.com/memcached/

Alleen helaas niet standaard in php.
..///
pi_37593767
Maar wat is het probleem van een file openen dan..?
pi_37594006
quote:
Op zaterdag 6 mei 2006 01:12 schreef fokME2 het volgende:
Maar wat is het probleem van een file openen dan..?
Geen probleem. Alleen schrijven en lezen van het werkgeheugen gaat natuurlijk veel sneller.
..///
pi_37595345
quote:
Op zaterdag 6 mei 2006 01:30 schreef wipes66 het volgende:

[..]

Geen probleem. Alleen schrijven en lezen van het werkgeheugen gaat natuurlijk veel sneller.
Je moet niet zo geforceerd naar werkgeheugen kijken als jij een bestand wegschrijft dan zal het besturingssysteem net zo goed een block cache in het werkgeheugen houden, wat effectief inhoudt dat je met de snelheid van je werkgeheugen bestanden kunt inlezen.

Soms is een probleem opgelost voordat er een oplossing is
  zondag 7 mei 2006 @ 10:17:09 #222
12880 CraZaay
prettig gestoord
pi_37622268
Vraag je ook af of caching wel nodig is. Ik werk aan verschillende grote sites in php (helaas, maar dat terzijde ), en vaak geven admins aan dat ze liever 10 queries erbij hebben dat het opslaan van data in een bestand, omdat ze daarmee kennelijk eerder de front-ends mee omver trekken dan de databaseserver met relatief gezien veel extra queries.
pi_37642523
Ik wil een variabele verwijderen uit de array HTTP_GET_VARS. Vervolgens wil ik het restand van de get_vars in een string stoppen. Deze kan ik dan weer gebruiken om variabelen door te geven via een link. Nu lukt het verwijderen van de variabele wel, maar hoe zet ik de overige variabelen nu weer in een string? Onderstaand het stukkie code dat ik nu heb.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$vars = $HTTP_GET_VARS;
// indien variable "upper" aanwezig is deze verwijderen uit de array
if(array_key_exists("upper", $vars))
 {
  print "Upper =  " . $vars['upper'] . "<br>";
  unset($vars['upper']);
 }

// Hier het stukkie code om de variabelen in een string te zetten
// De get-variabelen worden voor een link in
// de variabele $pad_eind gestopt
// ?????????

//Een vereenvoudige weergave van de link
print "<a href=\"http://www.domain.com/page.php?" . $pad_eind . "\">link</a>";
?>


Wie kan me op weg helpen?
  maandag 8 mei 2006 @ 09:15:50 #224
12880 CraZaay
prettig gestoord
pi_37649546
quote:
Op zondag 7 mei 2006 22:10 schreef beerten het volgende:

Wie kan me op weg helpen?
Door de array loopen en steeds '&key=value' toevoegen aan een string?
pi_37649596
quote:
Op zondag 7 mei 2006 22:10 schreef beerten het volgende:
Ik wil een variabele verwijderen uit de array HTTP_GET_VARS.
Eerst even wat anders, waarom gebruik je niet de superglobal $_GET ?
pi_37662754
quote:
Op maandag 8 mei 2006 09:15 schreef CraZaay het volgende:

[..]

Door de array loopen en steeds '&key=value' toevoegen aan een string?
Dit had ik me al bedacht, maar ik kreeg het niet werkend.
quote:
Op maandag 8 mei 2006 09:19 schreef Light het volgende:

[..]

Eerst even wat anders, waarom gebruik je niet de superglobal $_GET ?
Die kende ik nog niet, dank en hulde. Alweer iets geleerd.

Mede dankzij jullie bijdrage en het feit dat ik nu nuchter ben heb ik het in 30 seconden opgelost.
1
2
3
4
5
6
7
8
9
10
11
12
13
$pad_eind = "";
if(array_key_exists("upper", $_GET))
 {
  //print "Upper =  " . $_GET['upper'] . "<br>";
  unset($_GET['upper']);
 }
foreach($_GET AS $key => $value)
 {
  //print $key . " - " . $value . "<br>";
  $pad_eind .= "&". $key . "=".  $value;
 }

print $pad_eind;
pi_37676599
FF een vraagje. De laatste tijd maak ik veel kleine CMS systeempjes en heb ik dus veel te maken met form validation. Eigenlijk heb ik tot nu toe nooit aan form validation gedaan(te veel en te saai werk).

Weet iemand een goede form validation class met ten minste de volgende mogelijkheden: niet leeg, is een email adres, is numeriek, langer dan x tekens, postcode etc.??
pi_37676943
@Da_Koen

Ik weet zo geen class die dat doet, maar het is wel interessant in feite krijg je dan een class met een hoop kleine validatiefuncties en een grotere functie die bijvoorbeeld de variabelen in de array $_POST controleert. Is dat niet zelf te doen? Het is maar éénmalig werk, als je het goed doet
  maandag 8 mei 2006 @ 23:46:48 #229
11753 Roonaan
Strictly
pi_37676987
Doet FormHandler dat niet?
pi_37677081
quote:
Op maandag 8 mei 2006 23:46 schreef Roönaän het volgende:
Doet FormHandler dat niet?
Thx, dat is eigenlijk precies wat ik zocht
pi_37682392
Kan iemand mij helpen... Ik ben bezig met een upload script, maar het wil maar niet werken.

Ik krijg geen 'error' in '$_FILES['name']['error']', maar "is_uploaded_file()" geeft wel false terug??

print_r $_FILES:

Array ( [name] => Picture2.jpg [type] => image/jpeg [tmp_name] => C:Program Filesxampptmpphp326.tmp [error] => 0 [size] => 415206 ) )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
function upload_file($inputname, $destination) {
        
// Als naam opgegeven en niet leeg is
        
if (isset($_FILES[$inputname]['name']) && !empty($_FILES[$inputname]['name'])) {
            
// Kijk of naam al bestaat
            
if (file_exists($destination."/".$_FILES[$inputname]['name'])) {
                return
"Fout: bestand ".$_FILES[$inputname]['name']." bestaat al.";
            } else {
                
// Kijken of bestand is geupload
                
if (is_uploaded_file($_FILES[$inputname]['tmp_name'])) {
                    
// Verplaats bestand van tmp naar doel
                    
if (move_uploaded_file($_FILES[$inputname]['tmp_name'], $destination."/".$_FILES[$inputname]['name'])) {
                        
//return "Afbeelding ".$_FILES[$inputname]['name']." is geupload.";
                        
return '';
                    } else {
                        return
"Fout: Bestand kon niet worden verplaatst naar opgegeven doel.";
                    }
                } else {
                    echo
"Fout: ";
                    switch(
$_FILES[$inputname]['error']) {
                        case
0: //no error; possible file attack!
                        
print_r($_FILES);
                        die();
                        return
" Er was een probleem met het uploaden van het bestand.";
                        break;
                        case
1: //uploaded file exceeds the upload_max_filesize directive in php.ini
                        
                        
default: //a default error, just in case!  
                        
return "Er was een probleem opgetreden tijdens het uploaden.";
                        break;
                    }
                }
            }
        } else { return
"Klik eerst op \'Browse\' om een afbeelding op te geven!"; }
    }

if (
$_SERVER['REQUEST_METHOD'] == 'POST') {
        
$msg = upload_file('imginput', $_GET['path']);
        if (
$msg != '') echo "alert('".$msg."');\n";
        
//print_r($_FILES);
}
?>


In 'tmp' staat trouwens niks, op wat session data na.

php.ini:

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "C:\Program Files\xampp\tmp"

; Maximum allowed size for uploaded files.
upload_max_filesize = 160M

Ik heb ook mambo hier draaien en daar kan ik wel gewoon uploaden.
..///
pi_37687580
Wanneer ik controleer of de tmp file bestaat faalt hij trouwens ook:
1
2
3
4
5
<?php
if (!file_exists($_FILES[$inputname]['tmp_name'])) {
                die(
'Bestand '.$_FILES[$inputname]['tmp_name'].' bestaat niet.');
            }
?>


1Bestand C:Program Filesxampptmpphp3CF.tmp bestaat niet.


Het vreemd is dat er geen slashes in staan, hoort dit?
..///
pi_37688384
quote:
Op dinsdag 9 mei 2006 12:33 schreef wipes66 het volgende:
Het vreemd is dat er geen slashes in staan, hoort dit?
Nee, en het lijkt me dat dit ook jouw probleem is. Je voert niet één of andere stripslashes() routine uit op je globale variabelen?
pi_37689079
quote:
Op dinsdag 9 mei 2006 13:06 schreef JeRa het volgende:

[..]

Nee, en het lijkt me dat dit ook jouw probleem is. Je voert niet één of andere stripslashes() routine uit op je globale variabelen?
Yes en dat was ook het probleem!

Dit was de boosdoener:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
set_magic_quotes_runtime
(0);

if(
get_magic_quotes_gpc() || ini_get('magic_quotes_sybase')) {
   
$_GET =    magic_quotes_strip($_GET);
   
$_POST =    magic_quotes_strip($_POST);
   
$_COOKIE =  magic_quotes_strip($_COOKIE);
   
$_REQUEST = array_merge($_GET, $_POST, $_COOKIE);
   
$_FILES =  magic_quotes_strip($_FILES);
   
$_ENV =    magic_quotes_strip($_ENV);
   
$_SERVER =  magic_quotes_strip($_SERVER);
}

function
magic_quotes_strip($mixed) {
   if(
is_array($mixed))
       return
array_map('magic_quotes_strip', $mixed);
   return
stripslashes($mixed);
}
?>


Maar stripslashes zou toch alleen \" moeten vervangen met " ?? Hoe kan hij dan alle slashes weghalen
..///
pi_37689512
Nee, stripslashes() haalt alle backslashes weg. Dat komt omdat de backslash altijd een escape char is, dit zie je echter niet altijd terug in de resulterende strings (na bijvoorbeeld een echo).

Dat 'gpc' in magic_quotes_gpc() slaat op GET, POST, en COOKIE en je moet dan ook alleen die variabelen strippen FILES, ENV, SERVER en zeker REQUEST moeten eruit!
  dinsdag 9 mei 2006 @ 17:10:50 #236
28280 Fugie
Porsche _O_
pi_37693877
even een html vraagje, ik wil de titel van een product laten weergeven in een input field, zodat het gewijzigd kan worden. Maar nu breekt het input field de titel al na de eerste spatie af ?????

iemand idee hoe dit op te lossen is
pi_37694395
je vergeet hoogst waarschijnlijk de quotes om de value van het input veld.
Maar das niet echt makkelijk om te ruiken voor ons... misschien kun je een voorbeeldje posten In het daarvoor bestemde topic
  dinsdag 9 mei 2006 @ 17:35:48 #238
28280 Fugie
Porsche _O_
pi_37694449
quote:
Op dinsdag 9 mei 2006 17:32 schreef ikke_ook het volgende:
je vergeet hoogst waarschijnlijk de quotes om de value van het input veld.
Maar das niet echt makkelijk om te ruiken voor ons... misschien kun je een voorbeeldje posten In het daarvoor bestemde topic
ugh, idd enkele quotes vergeten

krijg je als je te lang bezig bent

Het is trouwens een php webshop met een waarde die ik ophaal uit php, dus dit is wel het goede topic hoor
pi_37694804
quote:
Op dinsdag 9 mei 2006 17:35 schreef Fugie het volgende:

[..]

Het is trouwens een php webshop met een waarde die ik ophaal uit php, dus dit is wel het goede topic hoor
Nee, dat is het niet jouw probleem lag bij een <input> HTML-veld en niet bij iets gerelateerd aan PHP.
  dinsdag 9 mei 2006 @ 17:54:08 #240
11753 Roonaan
Strictly
pi_37694925
quote:
Op dinsdag 9 mei 2006 17:35 schreef Fugie het volgende:

[..]

ugh, idd enkele quotes vergeten

krijg je als je te lang bezig bent

Het is trouwens een php webshop met een waarde die ik ophaal uit php, dus dit is wel het goede topic hoor
voeg ook even htmlspecialchars() toe
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')