abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas vrijdag 30 september 2005 @ 12:33:58 #27
1972 Swetsenegger
Egocentrische Narcist
pi_31055931
quote:
Op vrijdag 30 september 2005 11:55 schreef Lamme_Sterfkanarie het volgende:
ik zou het trouwens zo oplossen:
[ code verwijderd ]

mogelijke bugs daargelaten, niet getest
je hebt nu trouwens ook 2x id in je url staan. dat gaat ook niet werken vandaar dat ik de eerste id hernoemd naar file heb.
Of met een switch
pi_31057154
Ik maak meestal gebruik van de methode die Lamme_Sterfkanarie voordraagt, in combinatie met een levenshtein() methode om bij een verkeerde waarde van de pagina-id de dichtstbijzijnde pagina te vinden (ofwel, gmaes wordt games mocht de gebruiker een typfout maken).

Het nadeel van een switch vind ik dat je dan voor elke pagina een case moet maken, terwijl je het nu gewoon in een array gooit en het werkt. Vroeger gebruikte ik wel een switch om voor het includen van de pagina nog wat checks te doen, maar aangezien die altijd betrekking hebben op de pagina zelf had ik besloten dat ik dat voortaan in de include doe dan ziet het er imo ook wat netter uit.
  vrijdag 30 september 2005 @ 13:16:13 #29
125047 Lamme_Sterfkanarie
tweet tweet en dan ineens niet
pi_31057218
daarom gebruik ik de constructie zoals ik hem heb ook altijd. Bij een nieuwe pagina hoef je alleen maar de array te veranderen. Of die nu hardcoded is of dat je die in elkaar draait met informatie uit een database het blijft werken
Ik heb het godverdomme gehad met die onkunde van je!
pi_31061616
ik heb nog een vraagje:

Ik wil de gegevens wat doormiddel van een formulier ingevoerdt wordt controleren.
Nu heb ik al wat op internet gezocht en vondt dit
1if(empty($bericht))

Is dit een beetje goed of hebben jullie andere suggesties?
pi_31063675
De methode die je kiest om je input te controleren, hangt af van wat je wilt dat er gecontroleerd wordt

Ik hanteer bij berichten (voor e-mailformulieren) iets als dit:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
//Bericht in variabele stoppen
$bericht = $_POST['bericht'];

//Whitespaces voor en na het bericht weghalen
$bericht = trim($bericht);

//Check of het bericht wel is ingevuld (en een redelijke lengte heeft)
if (strlen($bericht) &lt; 6) {
    ...
}
?>

Maar zoals ik al zei, het ligt maar net aan wat je wilt controleren
  vrijdag 30 september 2005 @ 18:35:37 #32
71919 wonderer
Hung like a My Little Pony
pi_31064261
Ik was dus bezig met een gallery en ik dacht, laat ik een functie maken die in ieder geval de juiste mappen vast aanmaakt, met de juiste rechten, zodat ik alleen de plaatjes nog maar hoef te uploaden. Mja. Als ik dat gewoon via ftp doe, is de user/group mijn gebruikersnaam, maar als ik het via een script doe, wordt dat apache en kan ik er daarna niks meer mee.

Weet iemand hoe ik dit beter kan aanpakken? Group/user veranderen ofzo?
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_31064405
Die gallery gaat met de rechten van Apache draaien. Zorg er dus voor dat je in je script die directory aanmaakt en 'm goed chmod(). Dit hoef je als het goed is dus maar een keer te doen, en dan staan de rechten goed

Overigens, als je in FTP de rechten op 777 zet maakt het niet uit wat de gebruikersnaam is, want dan kan Apache er ook bij. Dan hoef je alleen nog maar te hopen dat je niet op een shared webhost zit waarbij iedereen kan rondkijken
pi_31064844
quote:
Op donderdag 29 september 2005 09:42 schreef Swetsenegger het volgende:

[..]

Het verbaast me altijd dat ik voor echt complexe queries en vraagstukken hier WEL een antwoord of een goed idee krijg van mensen als SuperRembo en Roonaan, terwijl op phpfreakz.nl, bij uitstek de php vraagbaak, meestal niet.
Best raar eing. want hier zou je toch minder / slechtere reacties verwachten hehe. Maar goed denk dat alleen maar de mensen met meer dan begin basis reageren dan daar op phpfreakz, daar is het een komen en gaan van ppl die snel ff hun oplossing willen weten (veel noobz) enzo, heb je hier niet
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 30 september 2005 @ 19:04:58 #35
71919 wonderer
Hung like a My Little Pony
pi_31065095
quote:
Op vrijdag 30 september 2005 18:40 schreef JeRa het volgende:
Die gallery gaat met de rechten van Apache draaien. Zorg er dus voor dat je in je script die directory aanmaakt en 'm goed chmod(). Dit hoef je als het goed is dus maar een keer te doen, en dan staan de rechten goed

Overigens, als je in FTP de rechten op 777 zet maakt het niet uit wat de gebruikersnaam is, want dan kan Apache er ook bij. Dan hoef je alleen nog maar te hopen dat je niet op een shared webhost zit waarbij iedereen kan rondkijken
Het aanmaken van de directories gaat wel goed, ik kan alleen daarna niks meer met die mappen doen via een FTP programma, omdat ik de rechten niet heb. Kan ze niet weggooien, niks uploaden, niks aanpassen...
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_31065516
quote:
Op vrijdag 30 september 2005 19:04 schreef wonderer het volgende:

[..]

Het aanmaken van de directories gaat wel goed, ik kan alleen daarna niks meer met die mappen doen via een FTP programma, omdat ik de rechten niet heb. Kan ze niet weggooien, niks uploaden, niks aanpassen...
Dan moet je die bestanden ná het uploaden en verplaatsen naar die directory ook de goede rechten (777 waarschijnlijk) geven. Dan kun je ze ook via FTP wijzigen/verwijderen/whatever. De rechten die je aan een directory geeft zijn namelijk alleen voor die node, de directory dus, van toepassing en niet op de onderliggende directories of bestanden.

Of je maakt natuurlijk een adminpanel in je gallery
pi_31065768
quote:
Op woensdag 28 september 2005 22:58 schreef Swetsenegger het volgende:
Ok Ik heb SR's query nu zover dat hij de EERSTE 3 per catagorie pakt

(Hij pakte eerst 'willekeurig' omdat ik op een title aan het sorteren was Dan krijg je gewoon de titels welke beginnen met A, vervolgens met B per categorie terug natuurlijk, dom dom dom )

Nu nog de LAATSTE 3.
De query is nu dit (met de orignele tabel namen. genre is gelijk aan categorie en ad is gelijk aan item.)
[ code verwijderd ]

-edit

Swets..., de volgende keer ff dieper nadenken
[ code verwijderd ]

Bedankt voor het meedenken!
Dat HAVING(COUNT()) gedoe, ik wist niet dat je dat als LIMIT kon gebruiken? of doet het dat niet? het leek mij namelijk dat COUNT(), ook bij een GROUP BY, een soort van constante was?
  vrijdag 30 september 2005 @ 22:04:10 #38
71919 wonderer
Hung like a My Little Pony
pi_31070609
quote:
Op vrijdag 30 september 2005 19:22 schreef JeRa het volgende:

[..]

Dan moet je die bestanden ná het uploaden en verplaatsen naar die directory ook de goede rechten (777 waarschijnlijk) geven. Dan kun je ze ook via FTP wijzigen/verwijderen/whatever. De rechten die je aan een directory geeft zijn namelijk alleen voor die node, de directory dus, van toepassing en niet op de onderliggende directories of bestanden.

Of je maakt natuurlijk een adminpanel in je gallery
Ik kan ze al niet eens uploaden, laat staan veranderen. En ik heb juist mijn eigen gallery geschreven omdat ik het een voor een toevoegen van images zo irritant vond. Hij leest nou gewoon de directory uit.

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
<?php
function create_gallery($code,$name,$fotograaf,$email,$date,$user)
{
if(!
is_dir($code)){
  
mkdir($code,0777);
  
mkdir($code.'/images',0777);
  
mkdir($code.'/thumbnails',0777);
  
mkdir($code.'/caps',0777);
  
$file=$code.'/header.txt';
  
copy('under.jpg',$code.'/thumbnails/first.jpg');
  
$entry=$name."\n";
  if(
$email!=''){
   
$entry.='<a href="mailto:'.$email.'">'.$fotograaf.'</a>'."\n";
  }
  else{
   
$entry.=$fotograaf."\n";
  }
  
$entry.=$date."\n";
  
$entry.=$user."\n";

  if (!
$handle = fopen($file, 'w+')) {
   
$msg='Fout! Kan het bestand '.$file.' niet openen.';
   exit;
  }
  if (!
fwrite($handle, $entry)) {
   
$msg='Fout! Kan het bestand '.$file.' niet beschrijven.';
   exit;
  }
  
fclose($handle);
}
else{
  
$msg='Deze galerie bestaat al, kies een andere naam!';
}
return
$msg;
}
?>


Misschien kan ik hier wat mee?
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_31071568
Direct onder die regel met 'copy' moet je dit zetten:

chmod($code . '/thumbnails/first.jpg', 0777);

En direct onder de regel met 'fclose' dit:

chmod($file, 0777);

Ik denk dat je dan een stuk verder komt
  vrijdag 30 september 2005 @ 23:51:01 #40
71919 wonderer
Hung like a My Little Pony
pi_31074088
Werkt niet. Ik kan met een gewoon FTP programma niet uploaden. Ik zie ook dat ondanks de rechten die ik tijdens het maken heb toegekend, de werkelijke rechten op drwxr-xr-x liggen... ik mis de w mogelijkheid en die kan ik niet handmatig toevoegen, want ik behoor als ftp user niet tot die groep.

Hij maakt alles wel netjes aan, maar ik kan er daarna niks meer mee.
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_31074383
Het lijkt alsof Apache een mask heeft gekregen waardoor het geen write rechten kan instellen voor group en others...je zou even kunnen proberen na te vragen aan de beheerder van de server of daar iets aan te doen is, maar anders zul je toch echt een adminpanel moeten maken
  zaterdag 1 oktober 2005 @ 00:23:59 #42
71919 wonderer
Hung like a My Little Pony
pi_31074919
Hm, die 0777 weghalen bij mkdir en dan chmod(directory,0777) werkt WEL. Maar toch raar, zo'n omweg
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_31078634
Van deze pagina:
quote:
The mode is also modified by the current umask, which you can change using umask().
Ik gok dat dat niet van toepassing is op chmod()
pi_31078781
Ik ben vanaf het begin af aan via een tutorial een upload scriptje aan het maken... Ook al heb ik die site netjes gevolgd... Na de eerste simpele stap wertke het al niet:

index.php:

1
2
3
4
5
6
7
8
9
10
11
<html>
<head>
<title>Upload test form</title>
</head>
<body>
<form action="getfile.php" method="post"><br>
File: <input type="file" name="uploadFile"><br>
<input type="submit" value="Upload File">
</form>
</body>
</html>


getfile.php:

1
2
3
4
5
6
7
8
9
10
<html>
<head>
<title>Upload test</title>
</head>
<body>
<?php
  move_uploaded_file($_FILES['uploadFile'] ['tmp_name'], "../uploads/{$_FILES['uploadFile'] ['name']}")
?>
</body>
</html>


Wat doe ik nu al fout?
pi_31078833
Er horen in ieder geval geen spaties tussen $_FILES['uploadFile'] en ['tmp_name'].

Volgens mij hoort er nog enctype="multipart/form-data" in de form-tag.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31078864
quote:
Op zaterdag 1 oktober 2005 09:47 schreef SuperRembo het volgende:
Er horen in ieder geval geen spaties tussen $_FILES['uploadFile'] en ['tmp_name'].

Volgens mij hoort er nog enctype="multipart/form-data" in de form-tag.
bedankt. dat waren de twee fouten! het werkt nu!
  FOK!-Schrikkelbaas zaterdag 1 oktober 2005 @ 17:31:40 #47
1972 Swetsenegger
Egocentrische Narcist
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 11:51:16 #48
1972 Swetsenegger
Egocentrische Narcist
pi_31108846
quote:
Op zaterdag 1 oktober 2005 17:31 schreef Swetsenegger het volgende:
Voor de echte nerds
http://www.phpfreakz.nl/forum.php?forum=5&page=1
Ik wil deze winnen eigenlijk, dus ik crosspost 'm hier.
Als we een korte oplossing hebben, post ik het antwoord als het fok-team
quote:
Beste PHP-ers,


--[ PHP Golf
Een nieuwe editie van PHP Golf!

--[ Wat is PHP Golf?
De bedoeling is een PHP script te maken met zo min mogelijk karakters.
Dus zo min mogelijk letters, nummers, spaties, newlines en dergelijke.
Met het script moet je een doelstelling bereiken.
We gaan ervan uit dat je de recenste PHP 4.x, op het moment 4.4,
versie hebt en standaard php.ini configuratie. Tenzij anders vermeld.
(Standaard: register_globals = off)

Het script moet op UNIX-gebaseerde en Windows systemen werken.

--[ Voor wie is PHP Golf?
De competitie is voor iedereen toegankelijk.

--[ Inzendingen
Je kunt je oplossing sturen naar:

phpgolf [at] gmail.com
(Disclaimer: je e-mail zal niet worden gebruikt voor
spam of worden doorgegeven aan derden)

--[ Doelstelling
Je moet de input veranderen in hoofdletters en in kleine letters, maar met
een twist. We gaan het camel-talk stijl doen. We gaan ervan uit dat de input
alleen uit A-Za-z bestaat. De input komt van een formulier vandaan.
Dit is het formulier:

1
2
3
4
5
6
7
8
9
10
11
12
13
<html> 
<head> 
<title>PHP Golf #5</title> 
</head> 

<body> 
<form method="POST" action="camel.php"> 
<input type="hidden" name="dummy"> 
<input type="text" name="string"> 
<input type="submit" name="submit"> 
</form> 
</body> 
</html> 


Het doel is de input te veranderen in camel-style.
Voorbeeld input:

"PHPFreakz heeft een community"

output:

"PhPfReAkZ hEeFt EeN cOmMuNiTy"

De output moet beginnen met een hoofdletter. Iedere tweede letter is een
een hoofdletter. Spaties tellen dus niet mee als karakters (zie voorbeeld hierboven).

Nu mag jij camel.php programmeren en liefst zo kort mogelijk.


--[ Deadline:

De deadline is over 6 dagen.
Donderdag 19:00 6 oktober 2005

-----

Post in dit topic vragen/suggesties.
GEEN OPLOSSINGEN!

Mocht je een oplossing hebben, dan mag je gerust je karakter aantal posten.
Dit om andere te stimuleren

Diegene die het minste karakters heeft gebruikt, wint!

Veel succes,

Tri Pham
De kortste geldige oplossing staat op dit moment op 66 karakters. Standaard instellingen, dus Notices staan uit, super globals staan uit.

Loopen gaat niet werken omdat je dan al boven de 20 karakters kwijt ben voor het loopen door je string. Dan hou je dus nog max 46 karakters over voor het overslaan van spaties en het omzetten naar uppper dan wel lowercase.

Houden we een reguliere expressie over. Daar ga ik nu mee beginnen, na twee dagen met loopen aan het prutsen te zijn geweest. Input is welkom.
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 12:12:28 #49
1972 Swetsenegger
Egocentrische Narcist
pi_31109441
Ik vond al wat interessants:
Remember, the only difference in ASCII between an uppercase letter and a lowercase letter is a single bit that is 0 for uppercase and 1 for lowercase. Surely it would be possible to write some code that would simply flip this bit in each character to the value you want:
- AND with 0 to force uppercase
- OR with 1 to force lowercase
- XOR with 1 to invert the case
- randomly set it to 1 or 0 to set random case.

deze vond ik erbij, welke uppercase en lowercase omdraait

1
2
3
<?php
preg_replace
('/[a-z]+/ie', '\'$0\' ^ str_pad(\'\', strlen(\'$0\'), \' \')', $input);
?>


Maar dat moet dus een preg_replace welke AND 0 bij karakter 1, OR 1 bij karakter 2, zo tot het eind van de string. spaties negeren worden

[ Bericht 25% gewijzigd door Swetsenegger op 02-10-2005 12:33:11 ]
pi_31110892
quote:
Op zaterdag 1 oktober 2005 17:31 schreef Swetsenegger het volgende:
Voor de echte nerds
http://www.phpfreakz.nl/forum.php?forum=5&page=1
Als je hier nou meteen naar het juiste topic had gelinkt, dan had ik 'm meteen gesnapt.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')