Avatar billede spm Nybegynder
25. februar 2005 - 14:52 Der er 13 kommentarer og
1 løsning

Problemer med exec eller system

hey.
Jeg har problemer med exec() ( jeg har også prøvet med system() )
jeg skal konvertere en masse filer. mit script ser sådan ud:<?php
if ($handle = opendir('/bla/')) {
  while (false !== ($file = readdir($handle))) {
      if ($file != "." && $file != "..") {
exec('sudo convert "/bla/$file -thumbnail 50x50 /bla/bla/$file"');
      }
  }
  closedir($handle);
}
?>
Mappen hvor de nye-konverteret filer skal over i findes og der er skrive adgang.
Jeg har rettet SUDO til og min sudo virker også da jeg andre scripts som bruger sudo og de virker.
Jeg mistænker at fejlen ligger i sudo linien.
nogen bud???
(jeg kan ikke bruge imageconvert delen der ligger i php da jeg ikek har det installeret)
Avatar billede coderdk Praktikant
25. februar 2005 - 17:20 #1
Det var det også :)

exec('sudo convert "/bla/' . $file . ' -thumbnail 50x50 /bla/bla/' . $file . '"');
Avatar billede coderdk Praktikant
25. februar 2005 - 17:21 #2
Forklaring: variable og f.eks. \n bliver ikke behandlet af PHP hvis de er i strenge med ' - kun i " kan det lade sig gøre :)
Avatar billede spm Nybegynder
25. februar 2005 - 21:31 #3
Desværre.. Jeg skal lige have dig til at kigge lidt på det igen. her får du koden som den er:

<?
$fest = $_GET['fest'];
echo $fest;

?>
<head>


<?php
if ($handle = opendir('/var/homepages/blueice/upload')) {
  while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != "..") {
      exec('sudo convert "/var/homepages/bluice/billeder/$fest' . $file . ' -thumbnail 50x50 ' . $file . '"');
    }
  }
  closedir($handle);
}
?>
Nu er der lavet miniature
<?
echo "<a href=step4.php?fest=$fest>videre til step4</a>";
?>
Avatar billede spm Nybegynder
25. februar 2005 - 21:31 #4
ved godt at der mangler et  /  efter $fest i exec linien
Avatar billede coderdk Praktikant
26. februar 2005 - 00:59 #5
Du har stadig en $variabel inde i ' - udenfor med den, så virker det:

exec('sudo convert "/var/homepages/bluice/billeder/' . $fest . $file . ' -thumbnail 50x50 ' . $file . '"');
Avatar billede spm Nybegynder
26. februar 2005 - 01:33 #6
Du har lige reddet min dag!!!!! Eller nat:)
Hvorfor skal der  .  mellem???
Avatar billede coderdk Praktikant
26. februar 2005 - 01:35 #7
Det kaldes "concatenation" og betyder direkte oversat "sammenkædning":

$text = "hej " . "med " . "dig!";

Bliver kædet sammen til "hej med dig!"

$hvem = 'dig';
$text = 'hej med $dig'; // virker ikke
$text = "hej med $dig"; // virker
$text = 'hej med ' . $dig; // virker - også med "
Avatar billede coderdk Praktikant
26. februar 2005 - 01:36 #8
Ja, du kan regne ud at der skulle have stået $hvem, og ikke $dig :)
Avatar billede spm Nybegynder
26. februar 2005 - 01:42 #9
if ($handle = opendir("/var/homepages/billeder/' .$fest. '/")) {
  while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != "..") {
      echo "";

Hvad har jeg evt gjort forkert her????
du skal nok få points for det:)
Den siger at der er fejl i opendir linien. hvis jeg skriver mappen direkte ind så virker det, men mappen kan skifte..
Avatar billede coderdk Praktikant
26. februar 2005 - 01:48 #10
if ($handle = opendir("/var/homepages/billeder/" .$fest. "/")) {

Når du starter med " skal du også slutte med " :) Du startede med " og sluttede med ' som du sammenkædede med $fest som du så sammenkædede med ' og sluttede med " :)
Avatar billede coderdk Praktikant
26. februar 2005 - 01:48 #11
Point er ligemeget
Avatar billede spm Nybegynder
26. februar 2005 - 01:54 #12
Ja, nu virker det skam.. Tak igen igen...    Det som jeg har lavet er et lille system til en kammerat som har billeder på sin side. Det eneste han skal gøre er bare at uploade billederne og så køre mit lille system så sørger det for at oprette en mappe i billede-mappen, kopiere dem der over, lave thumps, smide det hele ind databasen og hele tiden bliver der holdt kontrol med at antal filer i den nye mappe er ens med filerne i thumps og med antallet i databasen. og til sidst så sletter den filerne i upload mappen..  Selv synes jeg det er genialt:)
Avatar billede coderdk Praktikant
26. februar 2005 - 01:56 #13
Ja, det er da et lækkert lille værktøj han har fået sig :)
Avatar billede spm Nybegynder
26. februar 2005 - 02:01 #14
ja.. Det har taget mig 2 nætter:) Nu leger jeg kun med hjemmeside i min fritid, hvilket jeg ikke har så meget af:)
Jeg har en bog på en 500sider... men har aldrig fået mig taget sammen.. desværre..
Jeg går i seng nu..
Tak for hjælpen. sov godt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester